2

У меня есть следующая проблема: я создал пользовательский селектор состояний для Android Buttons. Они работают, как и ожидалось. Проблема начинается, когда я хочу, чтобы одни и те же состояния применялись к строке элемента ListView.Android Listview Listitem состояние цвет

Поэтому я устанавливаю стиль в адаптере, и теперь обнаруживаю, что одно и то же состояние выглядит по-разному в элементе списка. Это больше похоже на стиль по умолчанию и цвет, который я хочу установить. Когда я долгое время нажимаю элемент или отпускаю элемент, я замечаю, что он сначала исчезает в цвет по умолчанию (синий), а затем прозрачен.

Я думаю, что мне не хватает некоторых состояний/состояний, но я не могу понять, какой. Я много пробовал, также примеры из StackOverflow, но ничего не работает. Надеюсь, у кого-то здесь был такой же вызов, и у него было правильное решение. Ниже приведен мой вариант выбора.

Заранее благодарен!

XML:

<selector xmlns:android="http://schemas.android.com/apk/res/android" 
android:exitFadeDuration="@android:integer/config_mediumAnimTime" 
android:enterFadeDuration="@android:integer/config_shortAnimTime" 
> 

    <item android:state_window_focused="false" 
     android:state_enabled="true" 
     android:drawable="@android:color/transparent" /> 

<item android:state_window_focused="false" 
     android:state_enabled="false" 
     android:drawable="@android:color/transparent" /> 

<item android:state_window_focused="false" 
     android:state_focused="true" 
     android:drawable="@android:color/transparent" /> 

<item android:state_pressed="true" 
     android:drawable="@android:color/holo_green_light" /> 

<item android:state_focused="true" 
     android:state_pressed="false" 
     android:state_enabled="true" 
     android:drawable="@android:color/holo_green_light" /> 

<item android:drawable="@android:color/transparent" /> 
</selector> 

ответ

1

В сенсорном режиме нет такого понятия, как выбран или сосредоточены, когда вы не нажимаете на пункт.

Но вы можете обойти его. Вам нужно установить режим выбора для списка (один или несколько, по умолчанию is.none), а затем используйте state_activated в вашем селекторе.