【问题标题】:remove line divider from NavigationView android从 NavigationView android 中删除行分隔符
【发布时间】:2016-01-28 19:32:08
【问题描述】:

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

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

【问题讨论】:

  • 尝试从您的项目中删除 ID。
  • @Stanojkovic 感谢您的评论。但没有 id 如何访问应用程序中的项目?我只需要删除分隔线。

标签: android navigationview android-navigationview


【解决方案1】:

将此添加到您的Styles

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

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

【讨论】:

    【解决方案2】:

    BottomNavigationView 也有同样的问题。也许有人会发现我的解决方案很有用。

    在 API

    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>
    

    它有效:)

    【讨论】:

      【解决方案3】:
      <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>
      

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

      【讨论】:

      • 感谢您的回答,但我需要删除分隔线。你的解决方案保持这条线。
      猜你喜欢
      • 1970-01-01
      • 2015-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多