按钮文字变色
我们首先添加一个ColorStateList资源XML文件,XML文件保存在res/color/button_text.xml:
[代码]xml代码:
1 |
<? xml version = "1.0" encoding = "utf-8" ?> |
2 |
< selector xmlns:android = "http://schemas.android.com/apk/res/android" > |
3 |
< item android:state_pressed = "true" |
4 |
android:color = "#ffff0000" /> <!-- pressed --> |
5 |
< item android:state_focused = "true" |
6 |
android:color = "#ff0000ff" /> <!-- focused --> |
7 |
< item android:color = "#ff000000" /> <!-- default --> |
8 |
</ selector > |
[代码]java代码:
1 |
Button btn=(Button)findViewById(R.id.btn); |
2 |
Resources resource=(Resources)getBaseContext().getResources(); |
3 |
ColorStateList csl=(ColorStateList)resource.getColorStateList(R.color.button_text); |
4 |
if (csl!= null ){ |
5 |
btn.setTextColor(color_state_list); //设置按钮文字颜色 |
6 |
} |
[代码]java代码:
1 |
XmlResourceParser xpp=Resources.getSystem().getXml(R.color.button_text); |
2 |
try { |
3 |
ColorStateList csl= ColorStateList.createFromXml(getResources(),xpp); |
4 |
btn.setTextColor(csl); |
5 |
} catch (Exception e) { |
6 |
// TODO: handle exception |
7 |
} |
[代码]xml代码:
01
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
02
<
selector
xmlns:android
=
"http://schemas.android.com/apk/res/android"
>
03
<
item
04
android:color
=
"hex_color"
05
android:state_pressed=["true" | "false"]
06
android:state_focused=["true" | "false"]
07
android:state_selected=["true" | "false"]
08
android:state_active=["true" | "false"]
09
android:state_checkable=["true" | "false"]
10
android:state_checked=["true" | "false"]
11
android:state_enabled=["true" | "false"]
12
android:state_window_focused=["true" | "false"] />
13
</
selector
>
[代码]xml代码:
01 |
<? xml version = "1.0" encoding = "utf-8" ?> |
02 |
< selector xmlns:android = "http://schemas.android.com/apk/res/android" > |
03 |
< item |
04 |
android:color = "hex_color" |
05 |
android:state_pressed=["true" | "false"] |
06 |
android:state_focused=["true" | "false"] |
07 |
android:state_selected=["true" | "false"] |
08 |
android:state_active=["true" | "false"] |
09 |
android:state_checkable=["true" | "false"] |
10 |
android:state_checked=["true" | "false"] |
11 |
android:state_enabled=["true" | "false"] |
12 |
android:state_window_focused=["true" | "false"] /> |
13 |
</ selector > |