码迷,mamicode.com
首页 > 其他好文 > 详细

ColorStateList改变按钮、文本框文字变色

时间:2015-08-17 17:31:29      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:xml   colorstatelist   setclolr colorstatel   

在平时项目中经常要做的就是改变按钮的背景颜色、文字验证,文本框也是如此。

我们知道用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
}

都是一样的效果。,


版权声明:本文为博主原创文章,未经博主允许不得转载。

ColorStateList改变按钮、文本框文字变色

标签:xml   colorstatelist   setclolr colorstatel   

原文地址:http://blog.csdn.net/bobxie520/article/details/47726123

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!