我从Android Studio的导航浏览器示例开始。我正在自定义所有内容,一切都很好,但我找不到如何更改导航抽屉中所选项目的颜色...现在是绿色的,我无法更改它。
我尝试了带有选择器drawable,但是没用,我只能更改整个背景而不能仅更改所选项。
如果这是一个新手问题,对不起,但我昨天在Google和这里花了几个小时都没有找到答案:/。
最终,我设法使其工作。
问题出在"android.R.layout.simple_list_item_activated_1"上。
这是一个Android内置的xml文件,因此您无法处理所需的颜色。
因此,我创建了一个名为“nav_drawer_layout.xml”的文件,其中包含与“android.R.layout.simple_list_item_activated_1”文件相同的内容。
然后,我进行了微调,将“android:background”属性更改为:
我尝试了带有选择器drawable,但是没用,我只能更改整个背景而不能仅更改所选项。
如果这是一个新手问题,对不起,但我昨天在Google和这里花了几个小时都没有找到答案:/。
最终,我设法使其工作。
问题出在"android.R.layout.simple_list_item_activated_1"上。
这是一个Android内置的xml文件,因此您无法处理所需的颜色。
因此,我创建了一个名为“nav_drawer_layout.xml”的文件,其中包含与“android.R.layout.simple_list_item_activated_1”文件相同的内容。
然后,我进行了微调,将“android:background”属性更改为:
<?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、pressed_drawer和backgroung_drawer通常在values\colors.xml中定义。
现在一切都好了,除了阴影效果在listview中不起作用^^
编辑:只需在fragment_navigation_drawer.xml中指定背景颜色并删除nav_drawer_colors.xml
文件中的<item android:drawable="@color/backgroung_drawer" />
即可 :)
希望这能帮助其他遇到同样问题的人 :)