从NavigationView android中删除行分隔符

时间:2016-01-28 19:32:09

标签: android navigationview android-navigationview

我有这个布局的NavigationView菜单:

<item android:title="title1">
    <menu>
        <item
            android:id="@+id/nav_tab1"
            android:icon="@drawable/ic_action_nav_tab1"
            android:title="test1" />
        <item
            android:id="@+id/nav_tab2"
            android:icon="@drawable/ic_action_nav_tab2"
            android:title="test2" />
    </menu>
</item>
<item android:title="title2">
    <menu>
        <item
            android:id="@+id/nav_settings"
            android:icon="@drawable/ic_action_settings"
            android:title="test3" />
    </menu>
</item>

enter image description here

如何从菜单中删除行分隔符?

3 个答案:

答案 0 :(得分:11)

将此添加到您的Styles

<item name="android:listDivider">@android:color/transparent</item>

在这里您可以阅读更多相关信息: How can I change separator color in NavigationView?

答案 1 :(得分:1)

我在BottomNavigationView中遇到了同样的问题。也许有人会觉得我的解决方案有用。

使用API​​ <21的android设备上此分隔符的原因是BottomNavigationView源中的以下代码段:

if (VERSION.SDK_INT < 21) {
    this.addCompatibilityTopDivider(context);
}

addCompatibilityTopDivider(context)方法:

private void addCompatibilityTopDivider(Context context) {
    View divider = new View(context);
    divider.setBackgroundColor(ContextCompat.getColor(context, color.design_bottom_navigation_shadow_color));
    LayoutParams dividerParams = new LayoutParams(-1, this.getResources().getDimensionPixelSize(dimen.design_bottom_navigation_shadow_height));
    divider.setLayoutParams(dividerParams);
    this.addView(divider);
}

我的解决方案是覆盖design_bottom_navigation_shadow_color中的colors.xml,如下所示:

<color name="design_bottom_navigation_shadow_color" tools:override="true">#00000000</color>

它有效:)

答案 2 :(得分:0)

<group android:id="@+id/menu_top">
<item android:title="title1">
    <menu>
        <item
            android:id="@+id/nav_tab1"
            android:icon="@drawable/ic_action_nav_tab1"
            android:title="test1" />
        <item
            android:id="@+id/nav_tab2"
            android:icon="@drawable/ic_action_nav_tab2"
            android:title="test2" />
    </menu>
</item>
<item android:title="title2">
    <menu>
        <item
            android:id="@+id/nav_settings"
            android:icon="@drawable/ic_action_settings"
            android:title="test3" />
    </menu>
</item>

尝试对这些项目进行分组...我没有尝试过,但它应该可以正常工作