android - 如何更改设计支持库的部分抽屉导航菜单项布局

标签 android androiddesignsupport navigationview

我说的是 Design Support Library这里。我正在尝试更改以下内容:

  • 选定的菜单项背景色
  • 图标和文字之间的距离

我尝试了很多,但我似乎可以找到解决这些问题的方法。您可以选择菜单项,但以某种方式而不是仅选择的项目更改背景颜色(使用 xml 属性 state-pressed),菜单中的所有内容都获得我在 itemBackground 中设置的颜色

<android.support.design.widget.NavigationView
    android:id="@+id/nvView"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:background="@android:color/white"
    app:headerLayout='@layout/nav_header'
    app:menu="@menu/drawer_view"
    app:itemTextColor="@drawable/drawer_item_text"
    app:itemBackground="@drawable/drawer_background_selector"
    android:fitsSystemWindows="false"/>

这里是drawer_background_selector:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/black" android:state_pressed="true" />
    <item android:drawable="@color/white"/>

</selector>

对于第二个问题,我想减少图标和文本之间的距离,但是在使用 google 提供的支持库时,不知何故我找不到任何方法来做到这一点。

有什么想法吗?或者我必须使用像 MaterialDrawer 这样的库吗? github 库。这个问题是我担心设计支持库可能会更新但这个库可能不会更新的 future 。

最佳答案

您可以覆盖尺寸值,甚至布局文件。 我唯一可能仍然坚持的是副标题填充)。

例如你可以覆盖

    <dimen tools:override="true" name="design_navigation_icon_padding">5dp</dimen>

代码在这里

关于android - 如何更改设计支持库的部分抽屉导航菜单项布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31642639/

相关文章:

java - 空 View 不显示在 ListView 中

Android设计支持库proguard规则

android - 在 android 中删除或隐藏标题导航 View

list - SwiftUI:导航标题卡在导航 View 中的列表中(滚动动画损坏)

android - NavigationView OnNavigationItemSelectedListener 未被调用

android - 如何在 NavigationView 中将菜单项重力更改为右侧

android - 无法创建 Genymotion 虚拟设备 : HTTP error response: Unknown error

android - 无法在 Cocos2d for android 上设置 PixelFormat

java - Eclipse/Java/Android 无法执行 dex : Multiple dex files define

android - 在折叠操作栏搜索 recyclerview 移动到屏幕底部