如何更改android导航抽屉的菜单背景
我已经创建了一个带有菜单的导航抽屉布局。我想改变背景,但似乎我不能这样做。我已经试过这里给出,例如创建可绘制nav_bg.xml解决方案:如何更改android导航抽屉的菜单背景
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@color/black_text"/>
<item android:state_checked="false" android:drawable="@color/grey_55"/>
</selector>
,我用这个可绘制在NavigationView布局XML:
app:itemBackground = "@drawable/nav_bg.xml"
但是当我运行的应用程序,它只是告诉我@ color/grey_55颜色,当我按下它时它不会改变。
最简单的方法
创建绘制让利的.xml项说nav_checked_item_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/nav_checked_item" android:state_checked="true"/>
</selector>
托运物品背景表示创建第二绘制让说nav_checked_item.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="#6633b5e5"/>
</shape>
现在向您的NavigationView布局添加应用:itemBackground =“@ drawable/nav_checked_item_selector”。
我试过了,它不起作用 – VincentTheonardo
请您将@ color/black_text和@ color/grey_55和NavigationLayout代码在你的XML,所以我得到一些提示? – Abhishek
我试图重新创建我的颜色xml到像你的可绘制的XML,现在它的工作。谢谢!! – VincentTheonardo
试试这个
打开styles.xml
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="android:activatedBackgroundIndicator">@drawable/drawer_list_selector
</item>
</style>
2.在RES /可绘制文件夹中创建** drawer_list_selector.xml文件**
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"android:drawable="@drawable/light_gray_color"/>
<item android:state_activated="true"android:drawable="@drawable/red_color"/>
<item android:drawable="@android:color/transparent"/>
</selector>
3.在res/draw下能够创建red_color.xml/light_gray_color.xml(或任何其他名称),并添加你想要的十六进制颜色:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#C8FF0000"/>
</shape>
4-打开项目AndroidManifest.xml中,然后加入Android:主题标签(如果不存在)
<application
android:theme="@style/AppTheme" >
不适合搭配:( – VincentTheonardo
在你NavigationView补充:
app:itemIconTint="@color/menu_text_color"
app:itemTextColor="@color/menu_text_color"
app:itemBackground="@drawable/menu_background_color`"
在menu_background_color.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/transparent"android:state_checked="false"/>
<item android:drawable="@color/colorPrimary" android:state_checked="true"/>
</selector>
在menu_text_color.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/white" android:state_checked="true" />
<item android:color="@color/black" android:state_checked="false"/>
</selector>
何处以及如何到底有没有可以用这个方法绘制? – azizbekian
所以你真正想知道的是,如何为所选/活动菜单项设置不同的背景颜色? – Ridcully
请检查我的答案,并询问我是否有任何疑问 –