Android ListView с альтернативным цветом и цветом фокуса - PullRequest
1 голос
/ 17 июня 2010

Мне нужно установить альтернативный цвет в строках списка, но когда я это делаю, он удаляет / отключает желтый фон по умолчанию в фокусе

Я пытался с backgroundColor rowView.setBackgroundColor (SOME COLOR);

также с 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 ]

6 голосов
/ 17 июня 2010

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

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

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

2 голосов
/ 27 июля 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...