Android編程中selector背景選擇器用法實(shí)例分析
本文實(shí)例講述了Android編程中selector背景選擇器用法。分享給大家供大家參考,具體如下:
在Android開發(fā)過(guò)程中,經(jīng)常對(duì)某一View的背景在不同的狀態(tài)下,設(shè)置不同的背景,增強(qiáng)用戶體驗(yàn)。如果按鈕,在按下時(shí),背景變化,如果在代碼中動(dòng)態(tài)設(shè)置,相對(duì)比較麻煩。Android為我們提供了selector背景選擇器可以非常方便的解決這一問(wèn)題。
Selector的結(jié)構(gòu)描述:
1.android:state_pressed="true/false"
true:表示按下狀態(tài)下使用,false:表示非按下狀態(tài)下使用。
2.android:state_focused="true/false"
ture:表示聚焦?fàn)顟B(tài)使用(例如使用滾動(dòng)球/D-pad聚焦Button),false:表示非聚集狀態(tài)下使用。
3.android:state_selected="true/false"
true:表示被選中狀態(tài)下使用,false:表示非選中下使用
4.android:state_active="true/false"
true:表示可勾選狀態(tài)時(shí)使用,false:表示不可勾選狀態(tài)下使用
5. android:state_checkable="true/false"
true:表示勾選狀態(tài)下使用,false:表示非勾選狀態(tài)使用
6.android:state_checked="true/false"
true:表示勾選狀態(tài)下使用,false:表示非勾選狀態(tài)使用
7. android:state_enabled="true/false"
true:表示可用狀態(tài)使用(能接收觸摸/點(diǎn)擊事件),false:表示不可用狀態(tài)使用
8. android:state_window_focused="true/false"
true:表示應(yīng)用程序窗口有焦點(diǎn)時(shí)使用(應(yīng)用程序在前臺(tái)),false:表示無(wú)焦點(diǎn)時(shí)使用
9.android:background
設(shè)置背景圖片 模擬燈開啟關(guān)閉
在drawable目錄先新建bg_button.xml
<?xml version="1.0" encoding="UTF-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="true" android:drawable="@drawable/r7"></item> <item android:state_checked="false" android:drawable="@drawable/r7b"></item> </selector>
為了方便點(diǎn)擊查看效果 使用CheckBox組件
<CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:button="@null" android:textSize="15sp" android:textColor="#EE2C2C" android:drawableTop="@drawable/bg_button" android:text="燈"/>
效果:

更多關(guān)于Android開發(fā)相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android開發(fā)入門與進(jìn)階教程》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
相關(guān)文章
當(dāng)Flutter遇到節(jié)流與防抖的思路和流程優(yōu)化
這篇文章主要給大家介紹了關(guān)于當(dāng)Flutter遇到節(jié)流與防抖的思路和流程優(yōu)化的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01
android?studio組件通信:Intend啟動(dòng)Activity接收返回結(jié)果
這篇文章主要介紹了android?studio組件通信:Intend啟動(dòng)Activity接收返回結(jié)果,設(shè)計(jì)一個(gè)主Activity和一個(gè)子Activity(Sub-Activity),使用主Activity上的按鈕啟動(dòng)子Activity,并將子Activity的一些信息返回給主Activity,并顯示在主Activity上,需要的朋友可以參考一下2021-12-12
Flutter手機(jī)權(quán)限檢查與申請(qǐng)實(shí)現(xiàn)方法詳解
使用flutter進(jìn)行app開發(fā),一定會(huì)用到手機(jī)的部分權(quán)限,包括通知推送、定位、相冊(cè)、存儲(chǔ)、相機(jī)、麥克風(fēng)等。而權(quán)限的檢查和獲取,最受歡迎的就是通過(guò)permission_handler這個(gè)插件來(lái)實(shí)現(xiàn)2022-11-11
Android 通過(guò)觸摸動(dòng)態(tài)地在屏幕上畫矩形效果
在屏幕上用手指畫出一個(gè)區(qū)域,返回所圈的區(qū)域坐標(biāo)。通過(guò)自定義view設(shè)置畫筆及對(duì)應(yīng)參數(shù),在onTouchEvent()回調(diào)函數(shù)里,對(duì)觸摸事件進(jìn)行判斷。畫出矩形圖形,具體實(shí)現(xiàn)代碼大家參考下本文2017-07-07
Flutter WillPopScope攔截返回事件原理示例詳解
這篇文章主要為大家介紹了Flutter WillPopScope攔截返回事件原理示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09
Android ExpandableListView用法示例詳解
ExpandableListView 是 Android 中一個(gè)非常實(shí)用的列表控件,它可以幫助我們實(shí)現(xiàn)具有分組功能的列表展示,通過(guò)本文的介紹,你應(yīng)該已經(jīng)掌握了 ExpandableListView 的基本用法,感興趣的朋友跟隨小編一起看看吧2025-02-02
Android常見XML轉(zhuǎn)義字符(總結(jié))
下面小編就為大家?guī)?lái)一篇Android常見XML轉(zhuǎn)義字符(總結(jié))。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04
安卓監(jiān)聽屏幕的橫豎翻轉(zhuǎn)實(shí)現(xiàn)方法
這篇文章主要介紹了安卓監(jiān)聽屏幕的橫豎翻轉(zhuǎn)實(shí)現(xiàn)方法,有需要的朋友可以參考一下2013-12-12

