我有一个包含项目的列表,以及2个colorliststates,一个用于赔率,一个用于平均值。 基本上,它重新解决了这个问题:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false" android:color="#fff" />
<item android:state_pressed="true" android:color="#999" />
</selector>
如何使用colorliststate应用于项目?在布局中,没有奇数或偶数的概念,所以我不能。在java代码中,我加载后无法找到使用colorliststate的方法:
getContext().getResources().getColorStateList(R.color.list_even);
有什么想法吗?
答案 0 :(得分:0)
您可以使用:
// you must place your file in the res/color folder
widget.setTextColor(getContext().getResources().getColor(R.color.list_even));
如果您使用的是XML,请将其放在textColor
属性中:
<SomWidget
android:textColor="@color/list_even"/>
答案 1 :(得分:0)
首先定义两个不同的选择器drawable。您可以在drawable xml中引用color.xml或直接输入颜色值。使用color.xml更加花哨。
<强>第二强> 我猜你有ListAdapter实现。因此,在getView(..)实现中,您可以为奇数项和偶数项设置不同的背景可绘制项。我想你想要修改背景而不是文本颜色,因为你发布了一个引用按下状态的例子。
在代码中表示,没有在这里进行eclipse并完全正确的语法:
if (position % 2 == 0) {
view.setBackGroundDrawable(R.drawable.selector1);
}
else {
view.setBackgroundDrawable(R.drawable.selector2);
}
我的例子符合您的要求吗?