基于android背景选择器selector的用法汇总

一.创建xml文件,位置:drawable/xxx.xml,同目录下记得要放相关图片

复制代码 代码如下:

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- 没有焦点时的背景图片 -->

    <item android:drawable="@drawable/handle_normal" android:state_enabled="true" android:state_window_focused="false"/>

    <!-- 触摸模式按下时的背景图片 -->

    <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"/>

    <!-- 获得焦点时的图片背景 -->

    <item android:drawable="@drawable/handle_focused" android:state_focused="true"/>

    <!--

    android:state_selected是选中

 android:state_focused是获得焦点

 android:state_pressed是点击

 android:state_enabled是设置是否响应事件,指所有事件

    -->

</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);但是这样会出现列表有时候为黑的情况,需要加上:android:cacheColorHint="@android:color/transparent"使其透明。
相关属性:

android:state_selected是选中
android:state_focused是获得焦点
android:state_pressed是点击
android:state_enabled是设置是否响应事件,指所有事件

根据这些状态同样可以设置button的selector效果。也可以设置selector改变button中的文字状态。
以下是配置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还可以实现更复杂的效果,例如渐变

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">//定义当button 处于pressed 状态时的形态。

                <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">//定义当button获得 focus时的形态

                 <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文件里添加两项。例如main.xml 文件,需要在<Button />里加两项android:focusable="true" android:background="@drawable/button_color"这样就把drawale/button_color.xml文件与这个控件关联起来了。

时间: 2024-10-15 00:57:39

基于android背景选择器selector的用法汇总的相关文章

基于android背景选择器selector的用法汇总_Android

一.创建xml文件,位置:drawable/xxx.xml,同目录下记得要放相关图片 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <!-- 没有焦点时的背景图片 -->    <item android:dr

android平台中背景选择器selector

 /** * 在res/drawable文件夹新增一个文件,此文件设置了图片的触发状态,你可以设置 state_pressed,state_checked,state_pressed, * state_selected,state_focused,state_enabled 等几个状态: * * android:state_pressed * 如果是true,当被点击时显示该图片,如果是false没被按下时显示默认. * * android:state_focused * true,获得焦点时显

Android中的Selector的用法

http://blog.csdn.net/shakespeare001/article/details/7788400 Android中的Selector主要是用来改变ListView和Button控件的默认背景. 新建mylist_view.xml文件后,可以根据项目需求,在其内部定义为自己想要的样式了,主要属性如下: <?xml version="1.0" encoding="utf-8" ?> <selector xmlns:android=

Android颜色选择器selector介绍

http://www.cnblogs.com/shaweng/archive/2012/06/14/2549719.html

基于c语言中调试工具的用法汇总(不包含gdb)_C 语言

是不是只有编译的时候才知道程序写了错误?有没有在未编译的时候就让机器帮你检查错误的工具呢?答案是:有!! splint工具.用一个最简单的HELLO WORLD来表述:===================================== 复制代码 代码如下: /*错误很明显*/#include <stdio.h> int main(void){   print("hello world\n", s);   return} -----------------------

基于c语言中调试工具的用法汇总(不包含gdb)【转】

转自:http://www.jb51.net/article/36829.htm 是不是只有编译的时候才知道程序写了错误?有没有在未编译的时候就让机器帮你检查错误的工具呢? 答案是:有!! splint工具.用一个最简单的HELLO WORLD来表述: ===================================== 复制代码 代码如下: /*错误很明显*/ #include <stdio.h> int main(void) { print("hello world\n&q

Android编程中selector背景选择器用法实例分析

本文实例讲述了Android编程中selector背景选择器用法.分享给大家供大家参考,具体如下: 在Android开发过程中,经常对某一View的背景在不同的状态下,设置不同的背景,增强用户体验.如果按钮,在按下时,背景变化,如果在代码中动态设置,相对比较麻烦.Android为我们提供了selector背景选择器可以非常方便的解决这一问题. Selector的结构描述: 1.android:state_pressed="true/false" true:表示按下状态下使用,false

Android selector背景选择器的使用详解_Android

在开发应用中,很多情况下要设计listview或button控件的背景,下面总结一下android的selector的用法:1.在drawable中配置Android的selector.将如下的XML文件保存成你自己命名的.xml文件(比如item_bg.xml),并将该文件放置在drawable文件中,在系统使用时根据ListView中的列表项的状态来使用相应的背景图片. 复制代码 代码如下: <?xml version="1.0" encoding="utf-8&q

Android selector背景选择器的使用详解

在开发应用中,很多情况下要设计listview或button控件的背景,下面总结一下android的selector的用法:1.在drawable中配置Android的selector.将如下的XML文件保存成你自己命名的.xml文件(比如item_bg.xml),并将该文件放置在drawable文件中,在系统使用时根据ListView中的列表项的状态来使用相应的背景图片.复制代码 代码如下:<?xml version="1.0" encoding="utf-8&quo