標籤:
前言:我們都知道在drawable中我們可以自訂button等別的控制項的選擇狀態,比如如果選中什麼顏色,預設什麼顏色,然而button的文本也能通過這種方式來進行設定
,這就需要ColorStateList的這個類。
1.這個是他的文檔
2.使用方式
①類似的需要定義一個XML的選取器,但是item中只需指明狀態和顏色
button_text_selector.xml檔案
1 <selector xmlns:android="http://schemas.android.com/apk/res/android"> 2 3 <item android:state_pressed="true" android:color="#ffff0000"/> 4 <!-- pressed --> 5 <item android:state_focused="true" android:color="#ff0000ff"/> 6 <!-- focused --> 7 <item android:color="#ff000000"/> 8 <!-- default --> 9 10 </selector>
②在java代碼中進行調用,兩種方式
1 Button btn = (Button) findViewById(R.id.id_btn); 2 // 第一種方式 3 // 匯入文本的選擇xml 4 XmlPullParser xrp = getResources().getXml( 5 R.drawable.button_text_selector); 6 try { 7 ColorStateList csl = ColorStateList.createFromXml(getResources(), 8 xrp); 9 btn.setTextColor(csl);10 } catch (Exception e) {11 12 }13 // 第二種方式14 Resources resources = getResources();15 ColorStateList csl = resources16 .getColorStateList(R.drawable.button_text_selector);17 18 if (csl != null) {19 btn.setTextColor(csl);20 }
3.效果
android的文本狀態選取器-ColorStateList