Android selector的属性和使用详解

1.selector中全部属性

2.常用的属性分析

android:state_accessibility_focused是否能够获取焦点

android:state_selected是否选中

android:state_focused是否获得焦点

android:state_pressed是否点击

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

android:state_checkable是否可能选中

android:state_checked否是选中

android:state_active是否活动

android:state_activated

android:state_window_focused

3.部分使用代码片(其他的只能看你自己的需求自己搭配)

<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  	<!-- 默认时的背景图片-->
  	<item android:drawable="@drawable/pic1" />
	<!-- 没有焦点时的背景图片 -->
  	<item android:state_window_focused="false" android:drawable="@drawable/pic1" />
	<!-- 非触摸模式下获得焦点并单击时的背景图片 -->
  	<item android:state_focused="true" android:state_pressed="true"   android:drawable= "@drawable/pic2" />
	<!-- 触摸模式下单击时的背景图片-->
	<item android:state_focused="false" android:state_pressed="true"   android:drawable="@drawable/pic3" />
	<!--选中时的图片背景-->
  	<item android:state_selected="true"   android:drawable="@drawable/pic4" />
	<!--获得焦点时的图片背景-->
  	<item android:state_focused="true"   android:drawable="@drawable/pic5" />
</selector>  

这里是在checkbox中和radiobutton中使用,checkbox可以当个的切换背景,radiobutton可以多个的在Radiogroup中切换背景

<?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/icon_tabfriends_selected"></item>
	<!--没有选中背景 -->
    <item android:state_checked="false" android:drawable="@drawable/icon_tabfriends_normal"></item>
	<!--默认背景,这里可要可不要 -->
	<item android:drawable="@drawable/icon_tabfriends_normal"></item>
</selector>

4.使用的三种方式

(1)在listview中添加属性

android:listSelector="@drawable/xxx

(2)listview的item中添加属性

android:background="@drawable/xxx"

(3)在java代码中

    Drawable drawable = getResources().getDrawable(R.drawable.xxx);
    listView.setSelector(drawable);  

为了防止listview滑动变黑,需要在listview中添加

android:cacheColorHint="@android:color/transparent"

可能有些时候你还要用代码去控制一下,单纯的布局还是不行,比如ImageButton你就没有办法去在布局中实现RadioButton的那种效果。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-08 23:43:33

Android selector的属性和使用详解的相关文章

Android layer-list的属性和使用详解

Android layer-list的属性和使用详解,layer-list是用来多个图层堆叠显示的,借这个特性可以做一些特别的效果(比如:阴影.下面的效果等),也可以投机取巧. 1.代码片 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <!-

Android——selector背景选择器的使用详解(二)

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

Android layer-list的属性和使用详解(阴影、边框效果)

通过每一层的设置来显示背景色 <?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!--最底下的一层--> <item> <shape android:shape="rectangle"> <s

Android实习札记(1)---EditText属性之ImeOption详解

Android实习札记(1)---EditText属性之ImeOption详解 1)这个属性拿来干嘛的? 答:当我们往EditText等可以输入文字的UI控件的地方输入时,弹出的小键盘的 右下角的Enter键!你没听错,这个属性就是关于Enter键的!!! 我们可以通过ImeOption属性来设置enter键显示的内容,以及进行事件监听~ 2)如何修改Enter键显示的内容: 答:直接设置ImeOption属性即可,另外,使用第三方输入法可能出现不同的结果, 或者没变化,这里只以搜狗输入法为参考

Android ViewGroup触摸屏事件派发机制详解与源码分析

PS一句:最终还是选择CSDN来整理发表这几年的知识点,该文章平行迁移到CSDN.因为CSDN也支持MarkDown语法了,牛逼啊! [工匠若水 http://blog.csdn.net/yanbober] 该篇承接上一篇<Android View触摸屏事件派发机制详解与源码分析>,阅读本篇之前建议先阅读. 1 背景 还记得前一篇<Android View触摸屏事件派发机制详解与源码分析>中关于透过源码继续进阶实例验证模块中存在的点击Button却触发了LinearLayout的事

Android实习札记(6)---ViewPager使用详解

Android实习札记(6)---ViewPager使用详解                                    --转载请注明出处:coder-pig 札记(5)中介绍了Fragment构建简单的底部导航栏,在结尾的时候说要在下一节中,结合Viewpager 实现进入软件时的引导界面,说到ViewPager,很多朋友都用过,不过只知道粘贴复制,连一些基本的 东西都不知道,那是不行的,在本节中就先讲下ViewPager的一些基本概念吧! 1.首先ViewPager在哪个包下?

Android 布局学习之——Layout(布局)详解二(常见布局和布局参数)

[Android布局学习系列]   1.Android 布局学习之——Layout(布局)详解一   2.Android 布局学习之——Layout(布局)详解二(常见布局和布局参数)   3.Android 布局学习之——LinearLayout的layout_weight属性   4.Android 布局学习之——LinearLayout属性baselineAligned的作用及baseline    Layout Parameters(布局参数): 在XML文件中,我们经常看到类似与lay

css3浏览器私有属性前缀使用详解

什么是浏览器私有属性前缀 CSS3的浏览器私有属性前缀是一个浏览器生产商经常使用的一种方式.它暗示该CSS属性或规则尚未成为W3C标准的一部分. 以下是几种常用前缀 -webkit- -moz- -ms- -o- -khtml-(现在基本都没有用了,被-webkit-取代) 举例来说,一个CSS3圆角的代码是: -webkit-border-radius: 50%; -o-border-radius: 50%; -moz-border-radius: 50%; -ms-border-radius

[转载] Android签名机制之—签名过程详解

本文转载自: http://www.wjdiankong.cn/android%E7%AD%BE%E5%90%8D%E6%9C%BA%E5%88%B6%E4%B9%8B-%E7%AD%BE%E5%90%8D%E8%BF%87%E7%A8%8B%E8%AF%A6%E8%A7%A3/ 一.前言 又是过了好长时间,没写文章的双手都有点难受了.今天是圣诞节,还是得上班.因为前几天有一个之前的同事,在申请微信SDK的时候,遇到签名的问题,问了我一下,结果把我难倒了..我说Android中的签名大家都会熟悉