How to change the default disabled EditText's

2019-03-09 11:05发布

问题:

It isn't looking nice when using EditText enabled="false". How can I change it automatically for all of the controls?

I've added this image for reference.

Can someone help me? Thanks.

回答1:

In the color file define your color:

<?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>

In the layout:

<EditText
    android:text="whatever text you want"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="@color/example" />
</EditText>


回答2:

Create a custom selector in drawables and set it as

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

1) in 'colors.xml' define the color for enabled and disabled state:

<color name="enabled_color">#F7FE2E</color>
<color name="disabled_color">#000000</color>

2) in '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>

3) in your 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" />