我对新的导航视图有几个问题。
1)滚动导航视图会滚动整个视图,但我只想让标题保留在其位置并导航项目进行滚动。
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)动态操作导航项。在此之前,我曾经使用垂直列表视图作为导航项。我只是将可见性设置为我不想要的任何导航项目。如何动态更改导航项?
答案 0 :(得分:5)
1)滚动导航视图会滚动整个视图,但我只想让&gt;标题停留在它的位置,然后滚动导航项。
您无法使用当前NavigationView
获取它。它遵循材料准则。如果您想要这种模式,则必须使用自定义视图。
2)要实现分隔线黑白导航项目,我可以这样做:
您可以使用标准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)动态操作导航项
您可以使用以下内容:
navigationview.getMenu().findItem(R.id.drawer_item_xxx).setVisible(xxx);
答案 1 :(得分:0)
1)滚动导航视图会滚动整个视图,但我只想让&gt;标题留在它的位置,然后滚动导航项。
由于NavigationView是一个FrameLayout,我们可以将ListView作为子项添加,并且不要忘记在NavigationView中删除app:menu属性,然后您将获得所需的行为。