Я использовал Android Studio для реализации навигационного ящика, и я не могу получить синий цвет, который используется для отображения раздела, в котором мы сейчас находимся.
Я пробовал много вещей, в настоящее время я использую listSelector, который выглядит так:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_activated="true" android:drawable="@color/selected" />
<item android:state_pressed="true" android:drawable="@color/highlight" />
</selector>
Я также пробовал state_checked
. state_pressed
работает в этой ситуации, но текущий выбранный элемент по-прежнему остается синим.
EDIT:
Я изучаю это больше, и когда создается адаптер, этот контекст передается getActionBar().getThemedContext()
, поэтому я думаю, что если я найду подходящий атрибут для привязки к моему стилю действия, я могу его изменить. Я пробовал несколько разных атрибутов без везения. Кто-нибудь знает точный атрибут?
Я также понял, что если я поставлю
<item name="android:activatedBackgroundIndicator">@drawable/nav_listview_selector</item>
в основной части моей темы и измените getActionBar().getThemedContext()
на getActivity.getBaseContext
, тогда я могу изменить цвет, но я не думаю, что это правильный путь. Я думаю, что тематический контекст должен использоваться. Поэтому, если кто-нибудь знает, где можно поставить activatedBackgroundIndicator
так, чтобы он использовался в getActionBar.getThemedContext()
EDIT2:
Таким образом, текстовое представление, используемое для списка, является одним из SDK, которое выглядит так:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceListItemSmall"
android:gravity="center_vertical"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:background="?android:attr/activatedBackgroundIndicator"
android:minHeight="?android:attr/listPreferredItemHeightSmall"
/>
Итак, я пробовал модифицировать "?android:attr/activatedBackgroundIndicator"
на уровне темы, но он не влияет на check/selected/activated, но для нажатий. Кто-нибудь знает, почему это? И как я могу его изменить?