NavigationView:如何插入没有子组的分隔符?

时间:2015-06-02 19:48:05

标签: android android-support-library divider navigationview android-navigationview

如何在新的NavigationView中放置没有标题子组的分隔符?

<?xml version="1.0" encoding="utf-8"?>

<menu xmlns:android="http://schemas.android.com/apk/res/android">


<group android:checkableBehavior="single">
    <item
        android:id="@+id/drawer_armario"
        android:icon="@drawable/armario"
        android:title="@string/armario"  />
    <item
        android:id="@+id/drawer_amigos"
        android:icon="@drawable/amigos"
        android:title="@string/amigos" />

</group>

<item android:title="Configuración">
    <menu>
        <item

            android:id="@+id/drawer_ajustes"
            android:icon="@drawable/ajustes"
            android:title="@string/ajustes" />
        <item
            android:id="@+id/drawer_ayuda"
            android:icon="@drawable/ayuda"
            android:title="@string/ayuda" />
        <item
            android:id="@+id/drawer_sign_out"
            android:icon="@drawable/sign_out"
            android:title="@string/sign_out" />

    </menu>

</item>

我想在没有Configuración标题的情况下在amigos和ajustes项目之间添加一行。

感谢!!!

4 个答案:

答案 0 :(得分:58)

您需要做的就是定义一个具有唯一ID的group。我浏览了NavigationView的实现,每次更改组ID时都会创建一个分隔符。

e.g。

<group android:id="@+id/my_id">
    <!-- Divider will appear above this item -->
    <item ... />
</group>

答案 1 :(得分:6)

我试过这个并且有效

<击> See implementation from line no 122-125

这是我的菜单文件,它正在创建分隔符:

setInterval( function() { 
    $("#mission").html("<?php echo Core\InGame::getNotes('TestPlayer');?>");
}, 250);

答案 2 :(得分:6)

NavigationView navigationView = (NavigationView) findViewById(R.id.navigation);
NavigationMenuView navMenuView = (NavigationMenuView) navigationView.getChildAt(0);
navMenuView.addItemDecoration(new DividerItemDecoration(appContext,DividerItemDecoration.VERTICAL_LIST));

这是DividerItemDecoration的要点

DividerItemDecoration.java

答案 3 :(得分:3)

使用xml

<android.support.design.widget.NavigationView
...
app:itemIconTint="@android:color/black" 
... />

<强>编程

 yourNavigationView.setItemIconTintList(null);

我觉得这很好。

祝你好运。