AndroidA——背景选择器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文件与这个控件关联起来了。
AndroidA——背景选择器selector用法汇总(一)的更多相关文章
- android背景选择器selector用法汇总
一.创建xml文件,位置:drawable/xxx.xml,同目录下记得要放相关图片 <?xml version="1.0" encoding="utf-8&quo ...
- 【Android】Android背景选择器selector用法汇总
一.创建xml文件,位置:drawable/xxx.xml,同目录下记得要放相关图片 <?xml version="1.0" encoding="utf-8&quo ...
- Android:关于背景选择器Selector的item顺序
在使用背景选择器的时候,如果item的顺序不对,会导致不起作用. 1.首先背景选择器的normal选项一定要放在最后. 2.pressed的选择器应该在seclet的前面.我在使用的时候找了半天问题, ...
- android中的selector背景选择器的用法
关于listview和button都要改变android原来控件的背景,在网上查找了一些资料不是很全,所以现在总结一下android的selector的用法. 首先android的selector是在 ...
- [转]永久告别Android的背景选择器Selector!无需切很多图了!
package com.zoke.custom.autobg; import android.content.Context; import android.content.res.TypedArra ...
- android selector 背景选择器的使用, button (未点击,点击,选中保持状态)效果实现
android selector 背景选择器的使用, button (未点击,点击,选中保持状态)效果实现 首先看到selector的属性: android:state_focus ...
- Android中selector背景选择器
http://blog.csdn.net/forsta/article/details/26148403 http://blog.csdn.net/wswqiang/article/details/6 ...
- 030 Android 第三方开源下拉框:NiceSpinner的使用+自定义Button样式+shape绘制控件背景图+图片选择器(selector)
1.NiceSpinner下拉框控件介绍 Android原生的下拉框Spinner基本上可以满足Android开发对于下拉选项的设计需求,但现在越来越流行的下拉框不满足于Android原生提供的下拉框 ...
- Scrapy框架中选择器的用法【转】
Python爬虫从入门到放弃(十四)之 Scrapy框架中选择器的用法 请给作者点赞 --> 原文链接 Scrapy提取数据有自己的一套机制,被称作选择器(selectors),通过特定的Xpa ...
随机推荐
- CListCtrl设置选中行
原文链接: http://blog.163.com/lejianz@126/blog/static/11650292013610103232600/ CListCtrl 设置选中状态 1. 使用CLi ...
- C# 可选参数 命名参数
1.可选参数 可选参数是.NET4中新添加的功能,应用可选参数的方法在被调用的时可以选择性的添加需要的参数,而不需要的参数由参数默认值取代. class Program { /// <summa ...
- Oracle的执行计划(来自百度文库)
如何开启oracle执行计划 http://wenku.baidu.com/view/7d1ff6bc960590c69ec37636.html怎样看懂Oracle的执行计划 http://wenku ...
- mysql存储过程基础
存储过程简介 SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储 ...
- 引文分析工具HistCite使用简介
运行环境: win8.1(lenovo Y450) 1.去www.histcite.com下载histcite最新版,并安装 2.去WOS下载文献.保存方式为: 记录数: 记录1至500(最大支持50 ...
- update document in mongodb using java -摘自网络
update document in mongodb using java: Mongodb driver provides functionality to update document in m ...
- WPF使用System.Windows.SystemParameters类获得屏幕分辨率
转自 http://hi.baidu.com/shirley_cst/item/a55c290c8aa2ee2ca0312da3 示例代码如下所示. double x = SystemParamete ...
- git 修改历史提交信息
当你不小心,写错了提交的注视/信息,该如何处理呢.理论上,SCM是不应该修改历史的信息的,提交的注释也是. 不过在git中,其commit提供了一个--amend参数,可以修改最后一次提交的信息. ...
- 【凯子哥带你夯实应用层】使用ActionMode实现有删除动画的多选删除功能
转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 ActionMode是3.0之后.官方推荐的一种上下文菜单的实现方式,在之前一直用的是Co ...
- 关于android fragment 某些使用记录
1.首先是当android2.3.3之前还是用着android-support-v4.jar来加载Fragment时. a.在xml布局应该如何定义呢? 答案:用FrameLayout标签来定义(在a ...