android - 如何将 Material 设计风格设置为禁用 EditText (android)?

标签 android android-layout android-edittext material-design

我正在尝试使我禁用的 EditText 的样式像指南中那样:

https://www.google.com/design/spec/components/text-fields.html#text-fields-labels

<EditText
        android:id="@+id/account_number"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/test_account"
        android:enabled="false" />

我已经实现了 Material 设计风格,所以我所有的小部件看起来都很 Material 。

问题是:有没有什么方法可以使用样式来得到这个虚线下划线,而不用添加额外的 View ?

我的styles.xml:

<style name="Theme.Main" parent="@style/Theme.AppCompat.Light.NoActionBar">         
    <item name="android:editTextStyle">@style/android:Widget.Material.EditText</item>
</style>

最佳答案

最后我设法做到了你所展示的,它看起来像 sample

drawable 文件夹中创建 dotted.xml 并粘贴这些

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:bottom="1dp"
        android:left="-2dp"
        android:right="-2dp"
        android:top="-2dp">
        <shape android:shape="rectangle">
            <stroke
                android:width="0.5dp"
                android:color="@android:color/black" />    
            <solid android:color="#ffffff" />
            <stroke
                android:width="1dp"
                android:color="#030310"
                android:dashGap="5dp"
                android:dashWidth="5dp" />
            <padding
                android:bottom="5dp"
                android:left="5dp"
                android:right="5dp"
                android:top="5dp" />
        </shape>
    </item>
</layer-list>

然后只需将android:background 属性设置为我们刚刚创建的dotted.xml。您的 EditText 看起来像这样。

<EditText
    android:id="@+id/account_number"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="test account"
    android:background="@drawable/dotted"
    style="@style/Theme.Main" <!--Its your custom style-->
    android:enabled="false" />

关于android - 如何将 Material 设计风格设置为禁用 EditText (android)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35219281/

相关文章:

android - 如何在 EditText 中添加 ImageView?

android - setImageResource 内存不足错误

java - 使用GsonBuilder和InputStream Android仅解析整个消息java的一个分支的JSON

Android App UI设计: WhatsApp like Tabs

android:src attrs 用于自定义 View

Android:你能有一个默认状态颜色是透明的涟漪效果吗?

android - 9 block 投影技术适用于 ImageView ,但不适用于相机预览

android - 单击通知组不会重定向到特定屏幕,而不是在奥利奥中重新启动该应用程序

android - 在android中输入EditText后如何隐藏键盘?

Android EditText ("Textbox") : Auto capitalizing first letter of each word while user typing