如何更改默认禁用的EditText的样式?

Jos*_*ero 19 android styles default android-edittext

使用EditText enabled ="false"时效果不佳.如何自动更改所有控件?

我已添加此图片以供参考. 在此输入图像描述

有人能帮我吗?谢谢.

Nic*_*ico 51

在drawable中创建自定义选择器并将其设置为

<EditText android:textColor="@drawable/edit_text_selector" />

1)在'colors.xml'中定义启用和禁用状态的颜色:

<color name="enabled_color">#F7FE2E</color>
<color name="disabled_color">#000000</color>
Run Code Online (Sandbox Code Playgroud)

2)在'drawable/edit_text_selector.xml'中:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="false" android:color="@color/disabled_color"/>
    <item android:color="@color/normal_color"/>
</selector>
Run Code Online (Sandbox Code Playgroud)

3)在layout.xml中:

<EditText
    android:id="@+id/customEditText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:enabled="false"
    android:text="Hello!"
    android:textColor="@drawable/edit_text_selector" />
Run Code Online (Sandbox Code Playgroud)


San*_*nda 42

在颜色文件中定义您的颜色:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="false" android:color="@color/disabled_color" />
    <item android:color="@color/normal_color"/>
</selector>
Run Code Online (Sandbox Code Playgroud)

在布局中:

<EditText
    android:text="whatever text you want"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="@color/example" />
</EditText>
Run Code Online (Sandbox Code Playgroud)

  • 选择器必须在`drawable`目录中定义(而不是`color`). (3认同)