Выбор изменения в ListView от оранжевого до зеленого

Как я делаю это на выбранный элемент списка.

Я пытался добавить это к android:background

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" 
        android:state_pressed="false"
        android:drawable="@color/android_green" />
    <item android:state_focused="true" 
        android:state_pressed="true"
        android:drawable="@color/black_alpha" />
    <item android:state_focused="false" 
        android:state_pressed="true"
        android:drawable="@color/black_alpha" />
    <item android:drawable="@color/white_alpha" />
</selector> 

но это не работает, это изменяет весь ListView.


Все еще работа, вот то, что я имею до сих пор

:: listview_background

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" android:drawable="@color/black_alpha" />
    <item android:drawable="@color/white_alpha" />  
</selector> 

:: Мое представление, которое использует вышеупомянутое

<ListView android:id="@+id/list" android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:layout_below="@+id/round"
    android:listSelector="@drawable/listview_background">
</ListView>

Проблема состоит в том, что black_alpha применит весь список, не только выбранный элемент списка

22
задан casperOne 3 January 2013 в 16:11
поделиться

1 ответ

Вот хорошая статья о том, как использовать селекторы со списками.

Вместо установки в качестве android:background из ListView, я думаю, вы хотите установить android:listSelector, как показано ниже:

<ListView android:id="@+id/list" 
      android:layout_width="fill_parent"
      android:layout_height="wrap_content" 
      android:layout_gravity="center"
      android:divider="@null" 
      android:dividerHeight="0dip"
      android:listSelector="@drawable/list_selector" />
21
ответ дан 29 November 2019 в 05:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: