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 ответа

Я нашел этот урок очень полезным для меня.

http://ykyuen.wordpress.com/2010/03/15/android-%E2%80%93-applying-alternate-row-color-in-listview-with-simpleadapter/

Мне удалось сделать так, чтобы элементы ListView имели чередующиеся цвета, а выделенный элемент оставил выделенный по умолчанию цвет.

Поместите прозрачность в свой цвет, желтая подсветка все еще там, она находится сразу за вашим фоновым цветом, прозрачность позволит ему просвечивать.

Другие вопросы по тегам