TextView внутри ListView: проблема setTextHighlightColor () - PullRequest
1 голос
/ 08 апреля 2010

У меня есть ListView и TextView внутри. Теперь дело в том, что я хочу изменить TextColor вместо выбора ячейки в ListView, но настройка setTextHighlightColor из TextView не дает этого вывода.

Я попытался установить селектор для этого, но это тоже не помогает.

Можно ли это решить? Что может быть причиной проблемы?

Структура кода:

Cell.xml

<ImageView 
    android:id="@+id/thumbnail" 
    android:layout_width="48dip"
    android:layout_height="48dip" 
    android:layout_gravity="center_vertical"
    android:src="@drawable/icon" 
/>
<TextView 
    android:id="@+id/username" 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" 
    android:layout_toRightOf="@id/thumbnail"
    android:layout_alignParentTop="true"
    android:gravity="top" 
    android:text="Username" 
    android:textColor="@drawable/timeline_username_selector"
/>
<TextView 
    android::id="@+id/time" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentRight="true"
    android:layout_marginLeft="10px"
    android:text="31stMarch,2010" 
    android:textColor="@drawable/timeline_username_selector"
/>

<TextView 
    android:id="@+id/textTweet" 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" 
    android:layout_below="@+id/username"
    android:layout_toRightOf="@id/thumbnail"
    android:layout_alignParentBottom="true"
    android:gravity="top" 
    android:textColor="@drawable/timeline_tweet_selector"
/>

Селектор простой

1 Ответ

0 голосов
/ 30 октября 2014

Как вы знаете, вам понадобится нарисовать состояние, чтобы показать разные цвета для разных состояний:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" android:state_pressed="false" android:color="#ff0000" />
    <item android:state_focused="true" android:state_pressed="true" android:color="#ff0000" />
    <item android:state_focused="false" android:state_pressed="true" android:color="#ff0000" />
    <item android:color="#000000" />
</selector>

Обязательно передайте выбранное состояние из основного представления строки в дочерние представления в строке:

android:duplicateParentState="true"
...