Как я делаю это на выбранный элемент списка.
Я пытался добавить это к 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 применит весь список, не только выбранный элемент списка
Вот хорошая статья о том, как использовать селекторы со списками.
Вместо установки в качестве 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" />