如何更改在“库”中选择的项目的颜色

时间:2011-08-03 20:36:13

标签: android android-layout android-gallery

我做了一个仅由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>

但它不起作用.... :(

2 个答案:

答案 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>