1

我的 listitem.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" style="@style/f_w" android:layout_height="60sp" android:padding="0sp">
<TextView android:id="@+id/con_name"
    android:textSize="16sp"
    style="@style/w_w" />
<TextView android:id="@+id/con_time"
    android:textSize="13sp" 
    android:textColor="#565"
    style="@style/w_w" />
</RelativeLayout>

所以,我想在按下的项目上指定我的文本视图的文本颜色。我正在通过 baseadapter 使用自定义列表视图。

4

3 回答 3

2

为您的 TextView 文本颜色创建一个选择器。

res/color/list_item_text_color_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">  
    <item android:state_enabled="false" android:color="@color/disabled_color"/>
    <item android:state_focused="true" android:state_pressed="false" android:color="@color/focused_color" />
    <item android:state_pressed="true" android:color="@color/pressed_color" />
    <item android:color="@color/normal_color" />
</selector>

资源/布局/listitem.xml

<TextView android:id="@+id/con_name"
    android:textSize="16sp"
    android:textColor="@color/list_item_text_color_selector"
    style="@style/w_w" />

如果您希望这适用于两个 TextView,您可以将其添加到 @style/w_w 并从 TextView 中删除 android:textColor 部分。

<style name="w_w">
    ...
    <item name="android:textColor">@color/list_item_text_color_selector</item>
    ...
</style>
于 2012-05-31T15:50:42.983 回答
0

您可以检查列表视图 onItemClickListner 并在其中为项目设置此项myTextView.setTextColor(getResources().getColor(R.color.blue));

于 2012-05-31T15:33:31.910 回答
0

如果您的 Activity 扩展 ListActivity 您可以更改 listitem.xml 的任何元素的颜色,只是覆盖:

@Override  
protected void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);

    TextView tv = (TextView)  v.findViewById(R.id.con_name);
    tv.setTextColor(R.color.red);
} 
于 2012-05-31T15:56:58.410 回答