有的时候做应用需要点击按钮时文字颜色也跟着变,松开后又还原,目前发现两种解决方案:第一用图片,如果出现的地方比较多,那么图片的量就相当可观;第二,也就是本文讲到的。废话少说,先贴图片,再上代码。
正常效果:
按下效果:
先在values目录创建color.xml文件,在里面加入以下自定义颜色(注意不是用color标签)的代码:
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <drawable name="red">#f00</drawable>
- <drawable name="green">#0f0</drawable>
- <drawable name="gray">#ccc</drawable>
- </resources>
<?xml version="1.0" encoding="utf-8"?> <resources> <drawable name="red">#f00</drawable> <drawable name="green">#0f0</drawable> <drawable name="gray">#ccc</drawable> </resources>
然后在res下新建drawable目录,里面新建btn_bg.xml和btn_color.xml文件,代码如下:
btn_bg.xml
- <?xml version="1.0" encoding="utf-8"?>
- <selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_window_focused="false" android:state_enabled="true"
- android:drawable="@drawable/btn_test_normal" />
- <item android:state_enabled="false" android:drawable="@drawable/btn_test_normal" />
- <item android:state_pressed="true" android:drawable="@drawable/btn_test_press" />
- <item android:state_focused="true" android:drawable="@drawable/btn_test_normal" />
- </selector>
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_window_focused="false" android:state_enabled="true" android:drawable="@drawable/btn_test_normal" /> <item android:state_enabled="false" android:drawable="@drawable/btn_test_normal" /> <item android:state_pressed="true" android:drawable="@drawable/btn_test_press" /> <item android:state_focused="true" android:drawable="@drawable/btn_test_normal" /> </selector>
btn_color.xml
- <?xml version="1.0" encoding="utf-8"?>
- <selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_focused="false" android:state_enabled="true" android:state_pressed="false"
- android:color="@drawable/red" />
- <item android:state_enabled="false" android:color="@drawable/gray" />
- <item android:state_pressed="true" android:color="@drawable/green" />
- <item android:state_focused="true" android:color="@drawable/red" />
- </selector>
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="false" android:state_enabled="true" android:state_pressed="false" android:color="@drawable/red" /> <item android:state_enabled="false" android:color="@drawable/gray" /> <item android:state_pressed="true" android:color="@drawable/green" /> <item android:state_focused="true" android:color="@drawable/red" /> </selector>
最后是测试用的布局文件:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:background="@android:color/white"
- >
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="按下文字会变效果"
- android:textColor="@drawable/btn_color"
- android:background="@drawable/btn_bg"
- />
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="按钮被禁用"
- android:enabled="false"
- android:textColor="@drawable/btn_color"
- android:background="@drawable/btn_bg"
- />
- </LinearLayout>
相关推荐
按钮点击背景色变化、文字颜色变化,代码里将的很详细啦,绝对没问题哦
Android Studio 在xml文件中设置界面布局1、xml文件中给输入框editText修改下划线颜色2、设置button按钮为圆角及修改按钮颜色3、运用约束布局时预览效果和运行效果不一致 写一写今天困扰我很久的问题:如何给...
button的点击效果无疑是非常简单的,接下来通过本文给大家介绍下如何添加button点击的字体颜色变化效果,感兴趣的朋友一起看看吧
实际应用的过程中,需要对按钮进行点击,为了让用户知道是否点击可这个按钮,可以设置点击后 ,该按钮的颜色或者背景发生变化。 layout中这部分的代码为: <RadioButton android:id=@+id/radio_button0 android...
3.14 控制不同的文字字体 52 3.15 如iphone拖动相片特效 54 3.16 自制计算器 56 3.17 关于(about)程序信息 58 3.18 程序加载中,请稍候 61 3.19 全屏幕以按钮重写 63 3.20 今晚到哪儿打牙祭 64 ...
个人做的自定义搜索界面,包括自定义搜索框,边输入边搜索,文字监听,有文字时,出现删除按钮,可删除,还有自定义圆角dialog以及通过FlowLayout流式布局实现历史标签展示,更重要的是有搜索词颜色改变方法,有需要...
3.14 控制不同的文字字体 3.15 如iPhone拖动相片特效 3.16 自制计算器 3.17 关于(About)程序信息 3.18 程序加载中,请稍候 3.19 全屏幕以按钮重写 3.20 今晚到哪儿打牙祭 3.21 Android变脸 3.22 打勾显示输入的密码 ...
3.14 控制不同的文字字体 3.15 如iPhone拖动相片特效 3.16 自制计算器 3.17 关于(About)程序信息 3.18 程序加载中,请稍候 3.19 全屏幕以按钮重写 3.20 今晚到哪儿打牙祭 3.21 Android变脸 3.22 打勾显示输入的密码 ...
3.14 控制不同的文字字体 3.15 如iPhone拖动相片特效 3.16 自制计算器 3.17 关于(About)程序信息 3.18 程序加载中,请稍候 3.19 全屏幕以按钮重写 3.20 今晚到哪儿打牙祭 3.21 Android变脸 3.22 打勾显示输入的密码 ...
使用Java语言编写的一款用于反映颜色变化的面板,也就是大家熟悉的颜色调色板演示程序。原理是初始化颜色选择按钮,然后为颜色选择按钮增加事件处理事件,最后实例化颜色选择器。 Java二进制IO类与文件复制操作...
使用Java语言编写的一款用于反映颜色变化的面板,也就是大家熟悉的颜色调色板演示程序。原理是初始化颜色选择按钮,然后为颜色选择按钮增加事件处理事件,最后实例化颜色选择器。 Java二进制IO类与文件复制操作...
安卓平板用户界面FlatUI 是一个库,可让您使用具有更好和自定义外观的原生 ...最新变化为按钮添加轻松和涟漪效果:3.0.0 修复问题 #30 - 合并拉取请求 #34 (@sherwinrobles)、#32 (@aliok)、#28 (@weiwelcome0) :
- 背景颜色的变化,基于许多用户的反馈:) 4.4(2011年8月3日) - 删除了邀请的检查 MightyText现在向所有人开放! - 提高桌面通知速度 - 在某些文本区域恢复为标准字体 4.3(2011年7月16日) - 实时检索邮件的...