Drawable 文件夹——xml文件
来源:互联网 发布:飞毛腿跑腿软件好吗 编辑:程序博客网 时间:2024/06/05 19:25
1. 小红点
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <solid android:color="#F2601F"/> <size android:width="20dp" android:height="20dp"/></shape>
2. 纯色圆角选择器
如果设置禁用状态,需要放在按下等状态的前面,否则不起作用,因为系统会从上到下一次解析,遇到合适的状态就直接取值,不会再解析后面的节点
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 禁用状态 --> <item android:state_enabled="false"> <shape> <corners android:radius="8dp"/> <solid android:color="#A0A0A0"/> </shape> </item> <!-- 按下状态 --> <item android:state_pressed="true"> <shape> <corners android:radius="8dp"/> <solid android:color="#f58104"/> </shape> </item> <!-- 正常状态 --> <item android:state_pressed="false"> <shape> <corners android:radius="8dp"/> <solid android:color="#F89E3D"/> </shape> </item></selector>
3. 圆角边框选择器
设置圆角边框背景的时候,需要透明化中间部分,否则在低版本手机上,会表现成黑色背景
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true"> <shape> <stroke android:width="1dp" android:color="#A0A0A0"/> <corners android:radius="8dp"/> <!-- 中间部分背景透明 --> <solid android:color="#00000000"/> </shape> </item> <item android:state_pressed="false"> <shape> <stroke android:width="1dp" android:color="@color/colorAccent"/> <corners android:radius="8dp"/> <!-- 中间部分背景透明 --> <solid android:color="#00000000"/> </shape> </item></selector>
4. 文字颜色选择器
在项目 src/main/res 目录下,新建 color 资源文件夹,并在 /color 下新建 selector_text_color.xml 文件。这样就可以在设置控件的 android:textColor 属性时引用此选择器,控制控件被选中或者取消选中时文本的颜色改变
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="#FFFFFF" android:state_selected="true"/> <item android:color="#FB4A41" android:state_selected="false"/></selector>
5.波纹点击效果
要实现在 5.0 以上手机上点击出现波纹效果,5.0 以下单纯变灰的效果,有两种方法:
第一种:自定义两个相同名称的 selector ,分别放在 drawable 和 drawable-v21 区别开 21 版本之前和之后
drawable/selector_bg.xml:<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true"> <color android:color="#F2F2F2" /> </item> <item android:state_pressed="false"> <color android:color="@color/white" /> </item></selector>drawable-v21/selector_bg.xml:<?xml version="1.0" encoding="utf-8"?><ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="#F2F2F2"> <!-- 有界 --> <!-- 无界去掉 id 属性即可 --> <item android:id="@android:id/mask" android:drawable="@color/gray"/></ripple>然后在 View 上设置:android:clickable="true"android:background="@drawable/selector_bg"
第二种:直接使用系统提供的 attr
android:clickable="true"<!-- 有界 -->android:background="?attr/selectableItemBackground"<!-- 无界 -->android:background="?attr/selectableItemBackgroundBorderless"
两种方式的注意
Note:有的控件需要设置 android:foreground 前景属性,比如 CardView
两种方式对比:
使用系统提供的 attr,简单方便,不用考虑配色等问题,便于和系统风格统一
使用自定义 selector 的方式,比较灵活,可以根据需求改变波纹颜色,自定义形状等
0 0
- Drawable 文件夹——xml文件
- select---定义在drawable文件夹中的XML文件
- Android 开发————自定义控件样式在drawable文件夹下的XML实现
- android中XML文件系列(一)—Drawable中的XML
- 安卓 总结:写在drawable文件夹中的 xml 图形资源文件
- 怎样在drawable文件夹里添加文本框所指定背景的XML文件?
- 关于android中drawable文件夹下各类xml样式文件的使用详解
- Android应用中res/drawable文件夹下定义的xml文件内容详解(一)
- Android应用中res/drawable文件夹下定义的xml文件内容(二)selector
- Android drawable-v21文件夹下xml文件,手机版本不兼容
- Android Studio2.2在drawable文件夹创建xml的shape文件
- 关于android中drawable文件夹下各类xml样式文件的使用详解
- Android drawable-v21文件夹下xml文件,手机版本不兼容
- Android Studio在drawable文件夹创建xml的shape、selector等文件
- Android基础:drawable文件夹下 创建XML
- Android Studio 添加drawable—hdpi等文件夹
- Android——(资源文件)drawable- hdpi、drawable- mdpi、drawable-ldpi的区别
- Android Drawable 和 xml文件转化关系
- directx数学基础1
- ZKFC(Zookeeper Failover Controller)原理【详细版】
- jsp + servlet 通过a 标签下载文件
- bss,data,text,rodata,堆,栈,常量段
- android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 14
- Drawable 文件夹——xml文件
- 1060. Are They Equal (25)
- 3.scala容器
- 417. Pacific Atlantic Water Flow dfs
- Scala学习笔记 --- scala中 => 作用
- 共生矩阵纹理特征提取
- springmvc使用流程
- 混杂设备驱动模型设计LED驱动
- 栈与队列(四)中缀计算器代码