安卓Selector
生活随笔
收集整理的這篇文章主要介紹了
安卓Selector
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
本文由PurpleSword(jzj1993)原創(chuàng),轉(zhuǎn)載請注明 原文網(wǎng)址 http://blog.csdn.net/jzj1993
安卓的按鈕復(fù)選框等,在點擊、選中等不同狀態(tài)時,顯示的圖片不同。通常可以使用Selector進行定義(如res/drawable/button_selector.xml)
下面以按鈕為例進行簡要介紹
首先需要圖像文件(分別為未按下和按下狀態(tài)的圖片資源): ? ??drawable/button_bg_normal.png ? ??drawable/button_bg_pressed.png
Selector的定義
<?xml?version="1.0"?encoding="utf-8"?> <selector?xmlns:android="http://schemas.android.com/apk/res/android"> ????<!--?pressed?--> ????<item?android:drawable="@drawable/bgcolor_translucent"?android:state_pressed="true"/> ????<!--?default?--> ????<item?android:drawable="@drawable/bgcolor_transparent"/> </selector>
Selector的應(yīng)用
在View中應(yīng)用
? ??<ImageButton ????????android:id="@+id/main_bn_add" ????????android:background="@drawable/button_selector"?/>
在ListView中應(yīng)用于子控件
<?xml?version="1.0"?encoding="utf-8"?> <ListView?xmlns:android="http://schemas.android.com/apk/res/android" ????android:id="@+id/settings_listview" ????android:layout_width="fill_parent" ????android:layout_height="wrap_content" ????android:cacheColorHint="@null" ????android:divider="#FFFFFF" ????android:dividerHeight="2dp" ????android:listSelector="@drawable/selector_setting_item" ????android:scrollingCache="true"?> </ListView>
Selector還可以這樣定義
Selector用顏色填充
<?xml?version="1.0"?encoding="utf-8"?> <selector?xmlns:android="http://schemas.android.com/apk/res/android"> ????<!--?pressed?--> ????<item?android:state_pressed="true"><color?android:color="#80000000"?/> ????</item> ????<!--?default?--> ????<item><color?android:color="#00000000"?/> ????</item> </selector>
Selector用漸變形狀填充
<?xml?version="1.0"?encoding="utf-8"?> <selector?xmlns:android="http://schemas.android.com/apk/res/android"> ????<item?android:state_pressed="true"> ????????<shape> ????????????<gradient?android:startColor="#8600ff"?/> ????????????<stroke?android:width="2dp"?android:color="#000000"?/> ????????????<corners?android:radius="5dp"?/> ????????????<padding?android:bottom="10dp"?android:left="10dp"?android:right="10dp"?android:top="10dp"?/> ????????</shape> ????</item> ???? ????<item?android:state_focused="true"> ????????<shape> ????????????<gradient?android:startColor="#eac100"?/> ????????????<stroke?android:width="2dp"?color="#ffffff"?android:color="#333333"?/> ????????????<corners?android:radius="8dp"?/> ????????????<padding?android:bottom="10dp"?android:left="10dp"?android:right="10dp"?android:top="10dp"?/> ????????</shape> ????</item> </selector>
安卓的按鈕復(fù)選框等,在點擊、選中等不同狀態(tài)時,顯示的圖片不同。通常可以使用Selector進行定義(如res/drawable/button_selector.xml)
下面以按鈕為例進行簡要介紹
首先需要圖像文件(分別為未按下和按下狀態(tài)的圖片資源): ? ??drawable/button_bg_normal.png ? ??drawable/button_bg_pressed.png
Selector的定義
<?xml?version="1.0"?encoding="utf-8"?> <selector?xmlns:android="http://schemas.android.com/apk/res/android"> ????<!--?pressed?--> ????<item?android:drawable="@drawable/bgcolor_translucent"?android:state_pressed="true"/> ????<!--?default?--> ????<item?android:drawable="@drawable/bgcolor_transparent"/> </selector>
Selector的應(yīng)用
在View中應(yīng)用
? ??<ImageButton ????????android:id="@+id/main_bn_add" ????????android:background="@drawable/button_selector"?/>
在ListView中應(yīng)用于子控件
<?xml?version="1.0"?encoding="utf-8"?> <ListView?xmlns:android="http://schemas.android.com/apk/res/android" ????android:id="@+id/settings_listview" ????android:layout_width="fill_parent" ????android:layout_height="wrap_content" ????android:cacheColorHint="@null" ????android:divider="#FFFFFF" ????android:dividerHeight="2dp" ????android:listSelector="@drawable/selector_setting_item" ????android:scrollingCache="true"?> </ListView>
Selector還可以這樣定義
Selector用顏色填充
<?xml?version="1.0"?encoding="utf-8"?> <selector?xmlns:android="http://schemas.android.com/apk/res/android"> ????<!--?pressed?--> ????<item?android:state_pressed="true"><color?android:color="#80000000"?/> ????</item> ????<!--?default?--> ????<item><color?android:color="#00000000"?/> ????</item> </selector>
Selector用漸變形狀填充
<?xml?version="1.0"?encoding="utf-8"?> <selector?xmlns:android="http://schemas.android.com/apk/res/android"> ????<item?android:state_pressed="true"> ????????<shape> ????????????<gradient?android:startColor="#8600ff"?/> ????????????<stroke?android:width="2dp"?android:color="#000000"?/> ????????????<corners?android:radius="5dp"?/> ????????????<padding?android:bottom="10dp"?android:left="10dp"?android:right="10dp"?android:top="10dp"?/> ????????</shape> ????</item> ???? ????<item?android:state_focused="true"> ????????<shape> ????????????<gradient?android:startColor="#eac100"?/> ????????????<stroke?android:width="2dp"?color="#ffffff"?android:color="#333333"?/> ????????????<corners?android:radius="8dp"?/> ????????????<padding?android:bottom="10dp"?android:left="10dp"?android:right="10dp"?android:top="10dp"?/> ????????</shape> ????</item> </selector>
總結(jié)
以上是生活随笔為你收集整理的安卓Selector的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 腾讯基金会捐赠1.5亿元,助力30省农村
- 下一篇: 浦发银行存款利率表2022最新利率,有以