中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Selector如何在Android中使用

發布時間:2020-12-04 17:03:59 來源:億速云 閱讀:177 作者:Leah 欄目:移動開發

Selector如何在Android中使用?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

Android中的Selector的用法 

<&#63;xml version="1.0" encoding="utf-8"&#63;>
<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>

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

      Android的selector要在 drawable 下配置。

      其中,selector可以設置的屬性有:

android:state_pressed           如果是true,當被點擊時顯示該圖片,如果是false沒被按下時顯示默認。

android:state_focused           如果是true,獲得焦點時顯示;如果是false沒獲得焦點顯示默認。

android:state_selected          如果是true,當被選擇時顯示該圖片;是false未被選擇時顯示該圖片。

android:state_checkable         如果值為true,當CheckBox能使用時顯示該圖片;false,當CheckBox不能使用時顯示該圖片。

android:state_checked           如果值為true,當CheckBox選中時顯示該圖片;false,當CheckBox為選中時顯示該圖片。

android:state_enabled           如果值為true,當該組件能使用時顯示該圖片;false,當該組件不能使用時顯示該圖片。
 
android:state_window_focused    如果值為true,當此activity獲得焦點在最前面時顯示該圖片;false,當沒在最前面時顯示該圖片

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

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

    表明是非觸摸模式下獲得焦點并單擊時的背景圖片。

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

<&#63;xml version="1.0" encoding="utf-8"&#63;>
<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控件按下時,背景圖片是bg_selected,其它情況下(沒有被點擊或者點擊后松開等)背景圖片為bg_unselect。
selector除了可以設置組件的背景顏色外,也可以設置文字的顏色。比如某個Button控件被按下后,Button上的文字顏色也發生改變。例如:

<&#63;xml version="1.0" encoding="utf-8"&#63;>
<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控件的顏色為黑色,但按鈕按下后,顏色會變成白色。松開后,顏色恢復為黑色。

以上可以在代碼中這樣設置:

<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外,還有一個Shape,可以用來定制控件的圖形效果,兩者可以一起使用。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黄平县| 东方市| 阿拉尔市| 龙陵县| 交城县| 木里| 花垣县| 进贤县| 桃园县| 临武县| 于田县| 青岛市| 织金县| 遂昌县| 文昌市| 阳朔县| 龙胜| 沛县| 乌兰察布市| 汉源县| 聂拉木县| 乌什县| 汉沽区| 阳城县| 句容市| 萝北县| 寿阳县| 罗平县| 渝北区| 黑河市| 岚皋县| 隆安县| 微博| 冷水江市| 肃宁县| 津市市| 稷山县| 云霄县| 县级市| 古交市| 新密市|