Я начинаю с примера Android-браузера навигации. Я настраиваю все, что хочу, все в порядке, но я не могу найти, как изменить выбранный цвет элемента в навигационном ящике ... На данный момент он зеленый, и мне не удается это изменить.Как изменить цвет выбранного списка в ящике навигации?
Я пробовал с выделенным селектором, но никак не мог, мне удалось изменить весь фон, но не только выбранный.
Извините, если это нуб вопрос, но я проводил часы вчера на Google и здесь не найти:/
Наконец, мне удалось заставить его работать. Проблема была «android.R.layout.simple_list_item_activated_1».
Это андроид, встроенный в xml, поэтому вы не можете иметь дело с цветами, которые вы хотите.
Итак, я создал файл с именем nav_drawer_layout.xml
, содержащий то же самое, что и файл android.R.layout.simple_list_item_activated_1.
Тогда я отлажен это изменение Android: фон атрибута, как это:
<?xml version="1.0" encoding="utf-8"?>
<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="@drawable/nav_drawer_colors"
android:minHeight="?android:attr/listPreferredItemHeightSmall" />
Он относится к к nav_drawer_colors.xml
селекторного, что вы должны создать:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/selected_drawer" android:state_activated="true" />
<item android:drawable="@color/selected_drawer" android:state_selected="true" />
<item android:drawable="@color/pressed_drawer" android:state_pressed="true" />
<item android:drawable="@color/backgroung_drawer" />
</selector>
selected_drawer, press_drawer и backgroung_drawer определены в значениях \ colors.xml, как всегда.
Теперь все в порядке, за исключением эффекта тени, который работает везде, но не в ListView ^^
EDIT: просто указать цвет фона в макете фрагмента панели навигации (fragment_navigation_drawer.xml) и снимите <item android:drawable="@color/backgroung_drawer" />
в nav_drawer_colors.xml
файл :)
Надеюсь, что это поможет другим, которые имеют ту же самую проблему :)
Использовать список селекторов для Listview – RockStar