使用NavigationView遇到的坑

238 阅读1分钟

1. APP设置沉浸式全屏后,侧滑菜单底部有一条透明黑条:

在NavigationView中设置app:insetForeground="@null"可去掉透明黑条,但遗憾的是黑条所占的位置还在,暂时没想到好的办法可以完全去掉黑条,不知道各位友友们有没有好的方法去掉,欢迎评论区留言。

<com.google.android.material.navigation.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    app:insetForeground="@null"
    app:menu="@menu/home_menu" />

2. 如何去掉NavigationView侧滑菜单里的滚动条

直接在layout设置属性android:scrollbars="none"无用,因为这个滚动条不在NavigationView中,而是在它的子View中,所以解决办法如下:

if (null != nav_view){
    val navigationMenuView = nav_view.getChildAt(0)
    if (null != navigationMenuView){
        navigationMenuView.isVerticalScrollBarEnabled = false
    }
}

3. 自定义NavigationView侧滑菜单中的字体大小

直接在layout中设置style样式app:itemTextAppearance="@style/NavDrawerTextStyle"就可以解决:

<com.google.android.material.navigation.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    app:insetForeground="@null"
    app:itemTextAppearance="@style/NavDrawerTextStyle"
    app:menu="@menu/home_menu" />