有的时候做应用需要点击按钮时文字颜色也跟着变,松开后又还原,目前发现两种解决方案:第一用图片,如果出现的地方比较多,那么图片的量就相当可观;第二,也就是本文讲到的。废话少说,先贴图片,再上代码。
正常效果:
按下效果:
先在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流式布局实现历史标签展示,更重要的是有搜索词颜色改变方法,有需要...
使用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日) - 实时检索邮件的...