Поэтому я прошу кого-нибудь представить, почему не работает сфокусированное состояние? Я занимаюсь разработкой с уровнем API 8. Если вам нужна дополнительная информация, я хотел бы опубликовать. Спасибо

мы используем ListView или ExpandableListView, фон по умолчанию@android:drawable/list_selector_background, У меня есть ExpandableListView, который показывает данные, сгруппированные по дате. Мне нравится список списков состояний list_selector_background, и я хочу сохранить поведение для разных состояний. Но на выходные (для некоторых элементов списка) я бы хотел определить собственный фон. Но эти элементы должны по-прежнему использовать Drawables для различных состояний, определенных через list_selector_background. Я видел разные не подходящие ответы. Большинство из них говорят, что я должен определить свой собственный список состояний. List_selector_background.xml определяет, помимо разной прорисовки для разных состояний,<item android:state_window_focused="false" android:drawable="@color/transparent" />

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

В конце я написал решение, используя список слоев.

<?xml version="1.0" encoding="utf-8"?>
  <layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item 
       android:drawable="@color/DarkBlue"
       android:id="@+id/background" />

    <item 
       android:drawable="@android:drawable/list_selector_background"
       android:id="@+id/list_selector_background" />

  </layer-list>

Это идеально соответствует желаемому поведению с одним исключением: /. У меня есть свой собственный фон, и элемент реагирует с drawable, определенным в list_selector_background для событий прессы. Но каким-то образом сфокусированное состояние не использует drawable, определенный list_selector_background (<item android:state_focused="true" android:drawable="@drawable/list_selector_background_focus" />)

Поэтому я прошу кого-нибудь представить, почему не работает сфокусированное состояние? Я занимаюсь разработкой с уровнем API 8. Если вам нужна дополнительная информация, я хотел бы опубликовать. Спасибо

Ответы на вопрос(0)

Ваш ответ на вопрос