Android StateListDrawable的使用

    在Android應用的開發過程當中,咱們常常要根據控件的狀態,改變控件的顯示,好比EditeText在focus,或者是unfocus時設置背景顏色的不一樣,這個相信你們在之前確定看到過,經過Selector就能夠實現,可是如何讓EditeText在focus,或者是unfocus時設置不一樣的顏色呢?接下來講的ColorStateList就是這樣的功能。android

     新建一個項目,爲了便於觀察,在默認的main.xml文件裏面拖入兩個EditeText,而後在drawable文件夾中新建一個color_stat_list.xml,在裏面輸入如下內容:app

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:color="#FF0000" android:state_focused="true" ></item>
    <item android:color="#00FF00" android:state_focused="false" ></item>	
</selector>

編輯EditText,設置它們的android:textColor="@drawable/color_state_list",形如:code

<EditText
        android:id="@+id/editText1"
        android:textColor="@drawable/color_state_list"
        android:text="@string/app_name"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >
	
    </EditText>

       <EditText
        android:id="@+id/editText1"
        android:textColor="@drawable/color_state_list"
        android:text="@string/app_name"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >
	
    </EditText>

保存項目,而後運行。效果以下圖所示:xml

相關文章
相關標籤/搜索