我做了一个仅由textviews组成的Gallery视图作为数字。默认情况下,如果我没有设置任何颜色,则中心的项目为黑色。我想改变它。
使用选择器它不起作用,有什么想法吗?
更新: 如果我尝试使用选择器,默认行为也会消失,我只能看到灰色文本视图
所以,这是我的TextAdapter的getVIew扩展了BaseAdapter
public View getView(int position, View convertView, ViewGroup parent) {
TextView t = new TextView(mContext);
int val = position + 1;
t.setText("" + val);
t.setTextSize(30f);
t.setTextColor(R.drawable.numericgallery_selector);
return t;
}
这是我的选择。
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:color="#FDF132"></item>
<item android:state_selected="false" android:color="#CADDCD"></item>
<item android:color="#FFFFFF"></item>
</selector>
但它不起作用.... :(
答案 0 :(得分:2)
我发现我的旧帖子没有解决方案。 所以我告诉你我是如何解决的。
t.setTextColor(mContext.getResources().getColorStateList(R.drawable.numericgallery_selector));
答案 1 :(得分:0)
将TextView膨胀以在库中使用。然后它不需要动态地改变任何东西。
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textSize="12sp"
**android:textColor="@drawable/tracker_selected_color"**
android:id="@+id/textview_tracker_item"
android:textStyle="bold"
/>
然后试试 tracker_selected_color.xml
<item android:state_selected="true" android:color="#FDF132"></item>
<item android:state_selected="false" android:color="#CADDCD"></item>
<item android:color="#FFFFFF"></item>