Android ListView с альтернативным цветом и цветом фокуса
Мне нужно установить альтернативный цвет в строках представления списка, но когда я делаю это, он удаляет / отключает желтый фон по умолчанию в фокусе
Я пытался с backgroundColor rowView.setBackgroundColor(НЕКОТОРЫЙ ЦВЕТ);
также с backgrounddrwable.
rowView.setBackgroundColor(R.drawable.view_odd_row_bg);
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_window_focused="false"
android:drawable="@color/odd" />
<!--
Even though these two point to the same resource, have two states
so the drawable will invalidate itself when coming out of pressed
state.
-->
<item
android:state_focused="true"
android:state_enabled="false"
android:state_pressed="true"
android:drawable="@color/highlight" />
<item
android:state_focused="true"
android:state_enabled="false"
android:drawable="@color/highlight" />
<item
android:state_focused="true"
android:state_pressed="true"
android:drawable="@color/highlight" />
<item
android:state_focused="false"
android:state_pressed="true"
android:drawable="@color/highlight" />
<item
android:state_focused="true"
android:drawable="@color/highlight" />
</selector>
но это не сработает.
есть ли способ установить цвет фона и цвет фокуса одновременно, что сработает.
2 ответа
Я нашел этот урок очень полезным для меня.
Мне удалось сделать так, чтобы элементы ListView имели чередующиеся цвета, а выделенный элемент оставил выделенный по умолчанию цвет.
Поместите прозрачность в свой цвет, желтая подсветка все еще там, она находится сразу за вашим фоновым цветом, прозрачность позволит ему просвечивать.