Android学习 之 ColorStateList按钮文字变色
来源:互联网 发布:外国人的丁丁感受知乎 编辑:程序博客网 时间:2024/05/10 14:51
Windows平台VC,对于不同的按钮状态,采用不同的颜色显示文字,实现起来比较复杂,一般都得自绘按钮。但是Android里面实现起来非常方便。
我们首先添加一个ColorStateList资源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="#ffff0000"/> <!-- pressed -->
- <item android:state_focused="true"
- android:color="#ff0000ff"/> <!-- focused -->
- <item android:color="#ff000000"/> <!-- default -->
- </selector>
- Button btn=(Button)findViewById(R.id.btn);
- Resources resource=(Resources)getBaseContext().getResources();
- ColorStateList csl=(ColorStateList)resource.getColorStateList(R.color.button_text);
- if(csl!=null){
- btn.setTextColor(color_state_list);//设置按钮文字颜色
- }
或者可以这样:
- 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
- }
最后附上所有可能出现的状态:
- <?xml version="1.0" encoding="utf-8"?>
- <selector xmlns:android="http://schemas.android.com/apk/res/android" >
- <item
- android:color="hex_color"
- android:state_pressed=["true" | "false"]
- android:state_focused=["true" | "false"]
- android:state_selected=["true" | "false"]
- android:state_active=["true" | "false"]
- android:state_checkable=["true" | "false"]
- android:state_checked=["true" | "false"]
- android:state_enabled=["true" | "false"]
- android:state_window_focused=["true" | "false"] />
- </selector>
0 0
- Android学习 之 ColorStateList按钮文字变色
- Android学习 之 ColorStateList按钮文字变色
- Android学习 之 ColorStateList按钮文字变色
- Android学习 之 ColorStateList按钮文字变色
- Android学习 之 ColorStateList按钮文字变色
- Android学习 之 ColorStateList按钮文字变色
- ColorStateList按钮文字变色
- ColorStateList按钮文字变色
- Android按钮文字变色(使用 ColorStateList)
- Android ColorStateList 按钮 文字状态 变色
- ColorStateList改变按钮、文本框文字变色
- Android按钮设置文字变色
- Android Button点击效果(按钮背景变色、文字变色)
- Android Button点击效果(按钮背景变色、文字变色)
- Android动态实现文字颜色选择器 ColorStateList
- android之selector- 按钮之类的变色
- Silverlight4按钮的文字变色
- 【Android 】TextView 局部文字变色
- 转载:血沃河山(二十一)——仁安羌大捷
- 子曰:“以德报怨,何以报德?以直报怨,以德报德!”
- EtherChannel(PAgP,LACP)
- 8个月偷逃过路费竟达368万元,这真是一条金光大道啊!
- 这些人也是弱势群体呀,后面还有两家呢
- Android学习 之 ColorStateList按钮文字变色
- 利用74HC595在串行口扩充8位的并行输出接口
- 逻辑运算与51单片机的位操作指令
- leetcode18. 4Sum
- 二十一世纪什么最贵?和谐……,有了基于单片机的分歧终端机,一切皆可解决
- 用fontAwesome代替网页icon小图标
- 摩尔斯电码
- LCD1602 的4线接法
- 一代枭雄张作霖