Android初级教程:如何自定义一个状态选择器
来源:互联网 发布:matlab7,1如何进入编程 编辑:程序博客网 时间:2024/05/22 14:36
有这样一种场景:点击一下某个按钮或者图片(view),改变了样式(一般改变背景颜色)。这个时候一种解决方案,可能就是状态选择器。接下来就介绍如何实现状态选择器:
步骤:
一、新建这样的文件夹:res/drawable
二、创建一个xml文件;这里命名为my_select.xml(注意选择select类型的文件)
三、接下来在里面写如下代码:
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_pressed="true" android:drawable="@drawable/btn_green_pressed" /> <!-- pressed按下的颜色背景图片。也可以在values目录下新建color文件引入颜色 --> <item android:state_pressed="false" android:drawable="@drawable/btn_green_normal" /> <!-- default默认的背景图片 --></selector>
注意:那两个引用的图片是自己随便放的,自己喜欢改变即可。
四、在布局文件给button按钮设置成这个选择器,代码如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <Button android:layout_centerInParent="true" android:background="@drawable/bt_select" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="点我改变颜色哦" /></RelativeLayout>
现在运行程序就行了,看效果图:
可以看到,默认是自己设置的绿色图片背景,按下成了棕黄色背景。
如果设置颜色选择器,效果如下:
但是个人建议不要使用颜色作为选择器,对于内部原因,现在的知识还无法解释。因为有些view加入颜色选择器会出问题,希望以后能明白具体原理吧。懂得前辈,也可以留言解释一下,提前感谢O(∩_∩)O
1 0
- Android初级教程:如何自定义一个状态选择器
- 如何自定义`Selector`状态选择器
- 状态选择器(自定义按钮)
- 如何自定义android chooser 应用选择器
- 【Android工程师】自定义控件 - ToggleView(开关状态选择器)
- Android状态选择器
- android 状态选择器
- android按钮状态选择器
- android 状态选择器
- Android selector 状态选择器
- Android中的状态选择器
- Android 状态选择器:
- Android 状态选择器
- Android selector 状态选择器
- 一个自定义时间选择器
- 如何写一个像UIImagePicker一样的自定义图片选择器
- Android 如何自定义一个ContentProvider
- android 自定义TabHost选择器
- iOS-69-WKWebview用法与UIWebview对比(附demo、PPT)
- 13 为什么会有泛型?
- 【计算机网络-1】【第一章】计算机网络体系结构
- MyBatis学习总结(一)——MyBatis快速入门
- hd 5620 KK's Steel(斐波那契数列)
- Android初级教程:如何自定义一个状态选择器
- 多线程、网络总结
- 将char转换成wchar_t, 获取中文字符串的任意汉字元素
- pat 1038. Recover the Smallest Number (30)
- HDU 1729 Stone Game(思维 & SG函数)
- 指针和指针所指的对象改变的问题
- 使用第三方插件Curvy为unity场景快速生成运动轨迹与赛道
- HDU/HDOJ 2546 饭卡(DP,0/1背包)
- 产品经理面试题