Проблема с селектором Android - PullRequest
0 голосов
/ 05 марта 2010

У меня есть список с пользовательским item_row.xml. Я определил селектор следующим образом:

<?xml version="1.0" encoding="utf-8"?>

<item
    android:state_pressed="false"
    android:drawable="@drawable/list_bg" >
</item>
<item 
    android:state_pressed="true"
    android:drawable="@drawable/header_bg" >
</item>
<item
    android:state_focused="false"
    android:drawable="@drawable/list_bg" >
</item>
<item
    android:state_focused="true"
    android:drawable="@drawable/header_bg">
</item>

и затем поместите в item_row.xml следующим образом:

    <LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="70dip"
  android:orientation="vertical"
  android:background="@drawable/list_selector"> 

Я хочу 2 вещи:

  • Когда я двигаюсь с помощью клавиш со стрелками, выбранный элемент меняет свой фон. Он отлично работает с фактической реализацией селектора.
  • Когда я нажимаю элемент, элемент тоже меняет свой фон, но он не работает с фактическим селектором.

Есть идеи? Я пытаюсь установить также в Android ListView: listSelector = "@ drawable / list_selector" но это не работает ни.

Спасибо

1 Ответ

1 голос
/ 05 марта 2010

Вам следует смоделировать ваш StateListDrawable после того, который использовался самим Android для селекторов ListView.Вы можете найти это в $ANDROID_HOME/platforms/$VERSION/data/res/drawable/list_selector_background.xml, где $ANDROID_HOME - это то место, где установлен Android SDK, а $VERSION - это некоторая версия Android (например, android-2.1).Затем примените селектор списка с помощью android:listSelector в ListView в XML макета.

...