joh*_*han 0 android android-listview
我有一个ListView,每行都有一个TextView.我在row.xml中设置了一个默认的color.xml
我对不同的州有不同的颜色
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- pressed -->
<item
android:color="#ffffff"
android:state_pressed="true"/>
<!-- focused -->
<item android:state_selected="true"
android:color="#8b8989"/>
<!-- default -->
<item android:color="#ffffff"/>
</selector>
Run Code Online (Sandbox Code Playgroud)
这就像一个魅力.但是当我试图改变代码中某些行的颜色时,这似乎不起作用.second_color.xml看起来是一样的,但颜色不同.颜色已更改,但对于其他状态(非默认值),没有任何更改.
我改变这样的颜色:
TextView tl = (TextView) v.findViewById(R.id.textlabel);
tl.setTextColor(getContext().getResources().getColor(R.color.second_color));
Run Code Online (Sandbox Code Playgroud)
解决了!
为了在代码中设置它,需要创建一个ColorStateList.
ColorStateList cl = null;
try {
XmlResourceParser xrp = getResources().getXml(R.color.live_color);
cl = ColorStateList.createFromXml(getResources(), xrp);
} catch (Exception ex) {}
if(cl != null){
tl.setTextColor(cl);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6041 次 |
| 最近记录: |