ColorStateList改变按钮、文本框文字变色
2015-08-17 15:46
597 查看
在平时项目中经常要做的就是改变按钮的背景颜色、文字验证,文本框也是如此。
我们知道用xml来实现选中效果是非常容易的,而且也简单。xml代码如下:这样的可以直接写在res/color/button_text.xml中
xml中只要加一行代码:android:textColor="@drawable/tv_traffic_textcolor_selector"
但是在动态代码中如何使用这个xml呢?
今天主要说的就是如果通过代码来实现这个效果,实现可以用两种方式:
第一种
第二种:
都是一样的效果。,
我们知道用xml来实现选中效果是非常容易的,而且也简单。xml代码如下:这样的可以直接写在res/color/button_text.xml中
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:color="#1c5e79"/> <!-- pressed --> <item android:state_focused="true" android:color="#1c5e79"/> <!-- focused --> <item android:color="#0b5979"/> <!-- default --> </selector>
xml中只要加一行代码:android:textColor="@drawable/tv_traffic_textcolor_selector"
但是在动态代码中如何使用这个xml呢?
今天主要说的就是如果通过代码来实现这个效果,实现可以用两种方式:
第一种
ColorStateList csl=(ColorStateList)getResources().getColorStateList(R.drawable.tv_traffic_textcolor_selector); if(csl!=null){ holder.tvTrafficTool.setTextColor(csl); }
第二种:
XmlResourceParser xpp=Resources.getSystem().getXml(R.color.button_text); try { ColorStateList csl= ColorStateList.createFromXml(getResources(),xpp); btn.setTextColor(csl); } catch (Exception e) { // TODO: handle exception }
都是一样的效果。,
相关文章推荐
- html5多线程
- 正则表达式注意事项
- nginx编译与安装
- background-position问题
- windows 2008上启用防火墙后Oracle tnsping不通的解决办法
- ffmpeg安装
- C#日志扩展包之Microsoft Enterprise Library - Logging Application Block总述
- retain(strong)和copy之间的关系
- Android错误之--Error retrieving parent for item: No resource found that matches the given name 'Theme.A
- 通过LinkText查找元素
- STM32F207+uCOS II 任务调度的问题
- [C++]Single Number III单个数字3
- mybatis的xml配置
- 华为上机题之去除字符串中最大最小的数
- style, currentStyle, getComputedStyle的区别
- Sqlite语法
- 基于Unitils和Spring解决一些单元测试的常见问题
- Android Static分析
- 51NOD 1459 迷宫游戏
- html5之本地存储