简体   繁体   English

从NavigationView android中删除行分隔符

[英]remove line divider from NavigationView android

i have this menu for the NavigationView of layout: 我有这个布局的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>

在此输入图像描述

how can remove the line divider from menu? 如何从菜单中删除行分隔符?

Add this to your Styles : 将此添加到您的Styles

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

Here you can read more about it: How can I change separator color in NavigationView? 在这里您可以阅读更多相关信息: 如何在NavigationView中更改分隔符颜色?

I had same problem with BottomNavigationView. 我和BottomNavigationView有同样的问题。 Maybe someone will find my solution usefull. 也许有人会发现我的解决方案很有用。

Reason of this divider on android devices with API < 21 is this code snippet in BottomNavigationView sources: 在Android设备上使用API​​ <21的这个分隔符的原因是BottomNavigationView源代码片段中的这个代码片段:

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

addCompatibilityTopDivider(context) method: 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);
}

My solution was to override design_bottom_navigation_shadow_color in colors.xml , like this: 我的解决方案是覆盖design_bottom_navigation_shadow_color中的colors.xml ,如下所示:

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

And it works:) 它的工作原理:)

<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>

Try grouping these items...I haven't tried this but it should work 尝试将这些项目分组......我没有尝试过,但它应该可行

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM