基于android背景選擇器selector的用法匯總
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 沒(méi)有焦點(diǎn)時(shí)的背景圖片 -->
<item android:drawable="@drawable/handle_normal" android:state_enabled="true" android:state_window_focused="false"/>
<!-- 觸摸模式按下時(shí)的背景圖片 -->
<item android:drawable="@drawable/handle_pressed" android:state_pressed="true"/>
<item android:drawable="@drawable/handle_focused" android:state_enabled="true" android:state_focused="true"/>
<item android:drawable="@drawable/handle_normal" android:state_enabled="true"/>
<!-- 獲得焦點(diǎn)時(shí)的圖片背景 -->
<item android:drawable="@drawable/handle_focused" android:state_focused="true"/>
<!--
android:state_selected是選中
android:state_focused是獲得焦點(diǎn)
android:state_pressed是點(diǎn)擊
android:state_enabled是設(shè)置是否響應(yīng)事件,指所有事件
-->
</selector>
二.使用xml文件:
1.方法一:在listview中配置android:listSelector="@drawable/xxx
或者在listview的item中添加屬性android:background="@drawable/xxx"
2.方法二:Drawable drawable = getResources().getDrawable(R.drawable.xxx);
ListView.setSelector(drawable);
相關(guān)屬性:
android:state_selected是選中
android:state_focused是獲得焦點(diǎn)
android:state_pressed是點(diǎn)擊
android:state_enabled是設(shè)置是否響應(yīng)事件,指所有事件
根據(jù)這些狀態(tài)同樣可以設(shè)置button的selector效果。也可以設(shè)置selector改變button中的文字狀態(tài)。
以下是配置button中的文字效果:
drawable/button_font.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:color="#FFF" />
<item android:state_focused="true" android:color="#FFF" />
<item android:state_pressed="true" android:color="#FFF" />
<item android:color="#000" />
</selector>
Button還可以實(shí)現(xiàn)更復(fù)雜的效果,例如漸變
drawable/button_color.xml
<SPAN style="COLOR: #330033"><?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> /
<item android:state_pressed="true">//定義當(dāng)button 處于pressed 狀態(tài)時(shí)的形態(tài)。
<shape>
<gradient android:startColor="#8600ff" />
<stroke android:width="2dp" android:color="#000000" />
<corners android:radius="5dp" />
<padding android:left="10dp" android:top="10dp"
android:bottom="10dp" android:right="10dp"/>
</shape>
</item>
<item android:state_focused="true">//定義當(dāng)button獲得 focus時(shí)的形態(tài)
<shape>
<gradient android:startColor="#eac100"/>
<stroke android:width="2dp" android:color="#333333" color="#ffffff"/>
<corners android:radius="8dp" />
<padding android:left="10dp" android:top="10dp"
android:bottom="10dp" android:right="10dp"/>
</shape>
</item>
</selector></SPAN><SPAN style="COLOR: #ff0000"> </SPAN>
最后,需要在包含 button的xml文件里添加兩項(xiàng)。例如main.xml 文件,需要在<Button />里加兩項(xiàng)android:focusable="true" android:background="@drawable/button_color"這樣就把drawale/button_color.xml文件與這個(gè)控件關(guān)聯(lián)起來(lái)了。
- Android selector背景選擇器的使用詳解
- Android時(shí)間選擇器、日期選擇器實(shí)現(xiàn)代碼
- 淺談?wù)凙ndroid 圖片選擇器
- Android自定義可循環(huán)的滾動(dòng)選擇器CycleWheelView
- android 字體顏色選擇器(ColorPicker)介紹
- Android仿微信照片選擇器實(shí)現(xiàn)預(yù)覽查看圖片
- Android開(kāi)發(fā)中實(shí)現(xiàn)IOS風(fēng)格底部選擇器(支持時(shí)間 日期 自定義)
- Android中顏色選擇器和改變字體顏色的實(shí)例教程
- Android PickerView滾動(dòng)選擇器的使用方法
- android自定義滾軸選擇器
相關(guān)文章
Android應(yīng)用中實(shí)現(xiàn)手勢(shì)控制圖片縮放的完全攻略
這篇文章主要介紹了Android應(yīng)用中實(shí)現(xiàn)手勢(shì)控制圖片縮放的完全攻略,采用了Matrix矩陣的方法,實(shí)例講解了包括觸摸點(diǎn)設(shè)置與各種沖突的處理等方面,相當(dāng)全面,需要的朋友可以參考下2016-04-04Android實(shí)現(xiàn)歡迎界面停留3秒效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)歡迎界面停留3秒效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02Android編程之Animation動(dòng)畫(huà)詳解
這篇文章主要介紹了Android編程之Animation動(dòng)畫(huà)具體用法,結(jié)合實(shí)例非常詳細(xì)的總結(jié)分析了Android中Animation動(dòng)畫(huà)所涉及的相關(guān)知識(shí)點(diǎn)與動(dòng)畫(huà)具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-01-01Flutter使用AnimatedBuilder實(shí)現(xiàn)動(dòng)效復(fù)用
Animation和AnimationWidget都是將組件和動(dòng)畫(huà)一起完成的。有些時(shí)候,我們只是想動(dòng)效復(fù)用,而不關(guān)心組件構(gòu)建,這個(gè)時(shí)候就可以使用 AnimatedBuilder了。本文詳細(xì)講解了AnimatedBuilder的使用,需要的可以參考一下2022-04-04Android實(shí)現(xiàn)單行標(biāo)簽流式布局
這篇文章主要為大家詳細(xì)介紹了Android單行標(biāo)簽流式布局,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09android平臺(tái)HttpGet、HttpPost請(qǐng)求實(shí)例
出自網(wǎng)絡(luò)搜索引擎巨頭的Android平臺(tái),其對(duì)網(wǎng)絡(luò)的支持自然不用多說(shuō),在Android SDK中已經(jīng)集成了Apache的HttpClient模塊。使用HttpClient模塊,我們就可以使用HTTP協(xié)議進(jìn)行網(wǎng)絡(luò)連接了2014-05-05Android Studio 導(dǎo)入開(kāi)源項(xiàng)目的正確姿勢(shì)及注意事項(xiàng)
這篇文章主要介紹了Android Studio 導(dǎo)入開(kāi)源項(xiàng)目的正確姿勢(shì)及注意事項(xiàng),需要的朋友參考下吧2018-03-03Android中模仿抖音加載框之兩顆小球轉(zhuǎn)動(dòng)效果
這篇文章主要介紹了Android仿抖音加載框之兩顆小球轉(zhuǎn)動(dòng)控件,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-09-09