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>

そこで、押されたアイテムのテキストビューのtextColorを指定したいと思います。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>

res/layout/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

アクティビティが 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 に答える