我有几个关于新导航 View 的问题。
1) 滚动导航 View 会滚动整个 View ,但我只想让标题留在原处,让导航项滚动。
2) 要实现黑白导航项的分隔符,我可以这样做:
<item
android:id="@+id/navigation_subheader"
android:title="@string/navigation_subheader">
<menu>
<item
android:id="@+id/navigation_sub_item_1"
android:icon="@drawable/ic_android"
android:title="@string/navigation_sub_item_1"/>
<item
android:id="@+id/navigation_sub_item_2"
android:icon="@drawable/ic_android"
android:title="@string/navigation_sub_item_2"/>
</menu>
</item>
但是没有副标题就不行。我试图给它一个空白字符串,但只留下一个垂直空白区域而不是副标题。我需要由分隔符分隔但没有子标题的导航项组。
3) 动态操作导航项。在此之前,我曾经使用垂直 ListView 作为导航项。我只是将可见性设置为我不想要的任何导航项的可见性。如何动态更改导航项?
最佳答案
1) Scrolling the navigation view scrolls the whole view but I just want the >header to stay at it's place and the navigation item to scroll.
您无法使用当前的NavigationView
获取它。它遵循 Material 指南。如果您想要这种模式,您必须使用自定义 View 。
2) To implement dividers b/w navigation items, I can do something like this:
您可以使用标准的 NavigationView
定义这样的菜单:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:id="@+id/group1" android:checkableBehavior="single" id>
//items of group1
</group>
<group android:id="@+id/group2" android:checkableBehavior="single" id>
//items of group2
</group>
</menu>
为每个组分配一个唯一的 ID 很重要。
3) Manipulating the navigation items dynamically
你可以使用类似的东西:
navigationview.getMenu().findItem(R.id.drawer_item_xxx).setVisible(xxx);
关于Android 设计支持库导航 View 自定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31049268/