从NavigationView android中删除行分隔符

4
我有一个布局的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

how can remove the line divider from menu?


尝试从您的项目中删除ID。 - Stanojkovic
@Stanojkovic 谢谢您的评论。但是如果没有 ID,如何访问应用程序中的项目?我只需要删除分隔线。 - javadroid
3个回答

16

1

我遇到了与BottomNavigationView相关的问题。也许有人会发现我的解决方案很有用。

导致Android设备API < 21上出现此分隔符的原因是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);
}

我的解决方案是在colors.xml中覆盖design_bottom_navigation_shadow_color,像这样:

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

它起作用了 :)


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>

尝试将这些项目分组...我没有尝试过,但应该可以工作


谢谢您的回答,但我需要删除分隔线。您的解决方案保留了那一行。 - javadroid

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接