国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android中的Selector的用法詳解及實(shí)例

2019-10-23 18:29:29
字體:
供稿:網(wǎng)友

Android中的Selector的用法

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android" >   <item android:state_pressed="true" android:drawable="@drawable/bg_selected">    </item>  <item android:drawable="@drawable/bg_unselect">  </item></selector>

 在工作的時(shí)候,由于系統(tǒng)給出的控件不夠美觀,因此開發(fā)時(shí)領(lǐng)導(dǎo)常常要我更改下界面,用美工給的圖片取代系統(tǒng)圖片。開始時(shí),我只是給按鈕等設(shè)置一下背景圖片,這樣做雖然美觀了,但界面看起來卻比較死板,比如用戶點(diǎn)擊了按鈕后,按鈕沒一點(diǎn)反應(yīng)。于是我就再給控件添加上onTouch監(jiān)聽事件,按下后改變背景顏色,松手后再恢復(fù)原來顏色。但后來發(fā)現(xiàn)了selector這個(gè)利器,真是喜出望外,不用再添加onTouch監(jiān)聽事件了,用起來也方便靈活。不得不說,多和其他開發(fā)人員交流技術(shù)經(jīng)驗(yàn)等還是很有必要的,特別是像我這樣獨(dú)自負(fù)責(zé)一個(gè)app開發(fā)的。      

      Android的selector要在 drawable 下配置。

      其中,selector可以設(shè)置的屬性有:

android:state_pressed           如果是true,當(dāng)被點(diǎn)擊時(shí)顯示該圖片,如果是false沒被按下時(shí)顯示默認(rèn)。

android:state_focused           如果是true,獲得焦點(diǎn)時(shí)顯示;如果是false沒獲得焦點(diǎn)顯示默認(rèn)。

android:state_selected          如果是true,當(dāng)被選擇時(shí)顯示該圖片;是false未被選擇時(shí)顯示該圖片。

android:state_checkable         如果值為true,當(dāng)CheckBox能使用時(shí)顯示該圖片;false,當(dāng)CheckBox不能使用時(shí)顯示該圖片。

android:state_checked           如果值為true,當(dāng)CheckBox選中時(shí)顯示該圖片;false,當(dāng)CheckBox為選中時(shí)顯示該圖片。

android:state_enabled           如果值為true,當(dāng)該組件能使用時(shí)顯示該圖片;false,當(dāng)該組件不能使用時(shí)顯示該圖片。
 
android:state_window_focused    如果值為true,當(dāng)此activity獲得焦點(diǎn)在最前面時(shí)顯示該圖片;false,當(dāng)沒在最前面時(shí)顯示該圖片

  這些屬性值也可以疊加使用,比如:

        android:state_window_focused=”true”  android:state_pressed=”true”

    表明是非觸摸模式下獲得焦點(diǎn)并單擊時(shí)的背景圖片。

  一般來說,Button控件只需要用 android:state_pressed就可以。比如,一個(gè)Button控件的背景設(shè)置為:

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android" >   <item android:state_pressed="true" android:drawable="@drawable/bg_selected">    </item>  <item android:drawable="@drawable/bg_unselect">  </item></selector>

這表明該Button控件按下時(shí),背景圖片是bg_selected,其它情況下(沒有被點(diǎn)擊或者點(diǎn)擊后松開等)背景圖片為bg_unselect。
selector除了可以設(shè)置組件的背景顏色外,也可以設(shè)置文字的顏色。比如某個(gè)Button控件被按下后,Button上的文字顏色也發(fā)生改變。例如:

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android" >  <item android:state_pressed="true" android:color="#ffffff"></item>  <item android:color="#000000"></item></selector>

即該Button控件的顏色為黑色,但按鈕按下后,顏色會變成白色。松開后,顏色恢復(fù)為黑色。

以上可以在代碼中這樣設(shè)置:

<Button  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:background="@drawable/btn_slector"  android:text="abc"  android:textColor="@drawable/text_selector"  />

除了selector外,還有一個(gè)Shape,可以用來定制控件的圖形效果,兩者可以一起使用。

 感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


注:相關(guān)教程知識閱讀請移步到Android開發(fā)頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 福海县| 吉水县| 石棉县| 江油市| 临江市| 曲阳县| 横峰县| 花垣县| 图木舒克市| 东城区| 五台县| 镇沅| 额敏县| 平果县| 府谷县| 东兴市| 黑河市| 苏州市| 平舆县| 青海省| 巴楚县| 安康市| 青河县| 新源县| 堆龙德庆县| 徐汇区| 大同县| 晋州市| 海晏县| 灵川县| 承德市| 余庆县| 临朐县| 七台河市| 曲麻莱县| 连云港市| 郴州市| 南部县| 东兰县| 祁门县| 宁安市|