相关疑难解决方法(0)

Android NavigationView菜单组分隔符

Android支持设计库提供NavigationView:

 <android.support.design.widget.NavigationView
    ...
    app:menu="@menu/navigation_drawer_items" />
Run Code Online (Sandbox Code Playgroud)

菜单/ navigation_drawer_items:

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

    <group android:checkableBehavior="single">
        <item .../>
        ...
    </group>

    <group android:checkableBehavior="single">
        <item .../>
        ...
    </group>

</menu>
Run Code Online (Sandbox Code Playgroud)

如何在组之间添加分隔符,分隔符或空格(如图片所示)?

在此输入图像描述

android navigation-drawer android-design-library

69
推荐指数
3
解决办法
5万
查看次数

如何在NavigationView中的所有组中设置共享可检查行为?

我创建了两个具有唯一ID的组(我需要一个分隔符),它们都checkableBehavior设置为单一.这允许同时检查来自不同组的多个项目,这正是我想要避免的.我想在所有群组中最多检查一件商品.

由于我还没有找到任何方法在XML中执行此操作,我尝试实现一个简单的逻辑onNavigationItemSelected来取消选中上一个菜单项:

if (previousItem != null)
   previousItem.setChecked(false);
currentItem.setChecked(true);
Run Code Online (Sandbox Code Playgroud)

setChecked(false)方法从来没有对我有用 - 项目保持检查.

这是我的示例代码:

menu_navigation.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group
        android:id="@+id/nav_group_1"
        android:checkableBehavior="single">
    <item
            android:id="@+id/nav_feed"
            android:title="@string/feed"/>
    <item
            android:id="@+id/nav_people"
            android:title="@string/people"/>
</group>
<group
        android:id="@+id/nav_group_2"
        android:checkableBehavior="single">
    <item
            android:id="@+id/nav_settings"
            android:title="@string/settings"/>
    <item
            android:id="@+id/nav_help_feedback"
            android:title="@string/help_feedback"/>
    <item
            android:id="@+id/nav_logout"
            android:title="@string/logout"/>
</group>
Run Code Online (Sandbox Code Playgroud)

NavigationItemSelectedListener:

 mUiNavigationView.setNavigationItemSelectedListener(
                new NavigationView.OnNavigationItemSelectedListener() {
                    @Override
                    public boolean onNavigationItemSelected(MenuItem menuItem) {
                        if (previousItem != null)
                           previousItem.setChecked(false);
                        currentItem.setChecked(true);
                        //...
                        changeCurrentFragment(...);
                        return true;
                    }
                });
Run Code Online (Sandbox Code Playgroud)

我需要一个提示!谢谢.

android android-support-library navigation-drawer material-design navigationview

31
推荐指数
3
解决办法
2万
查看次数

如何删除导航视图中不必要的顶部填充?

标题和此图片中显示的第一个项目之间存在不必要的顶部填充.

在此输入图像描述

如何删除它?

你可以在这里找到源代码:https: //github.com/chrisbanes/cheesesquare

android android-support-library material-design android-design-library android-navigationview

29
推荐指数
3
解决办法
2万
查看次数

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>
Run Code Online (Sandbox Code Playgroud)

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

谢谢!!!

android divider android-support-library navigationview android-navigationview

22
推荐指数
3
解决办法
1万
查看次数

如何在特定菜单项之间添加分隔符?

背景

我在操作栏(实际上是工具栏)中有一个菜单项,当单击时,会显示可供选择的项目列表,类似于单选按钮:

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

    <item
        android:icon="@drawable/..."
        android:title="@string/..."
        app:showAsAction="always">
        <menu>
            <group
                android:id="@+id/..."
                android:checkableBehavior="single">
                <item .../>
                <item .../>
                <item .../>
            </group>
        </menu>
    </item>
</menu>
Run Code Online (Sandbox Code Playgroud)

我需要在这个项目列表下面放一个项目,它将在它和列表之间有一个分隔符.与材料设计指南显示的相似(取自此处):

在此输入图像描述

编辑:这是我想要做的草图:

在此输入图像描述

问题

我找不到办法去做.

我试过的

我发现的唯一可行解决方案是:

  1. 更改活动的主题(此处),但这也会影响活动的其他菜单项

  2. 菜单项出现在操作栏上时在菜单项之间放置分隔符的方法,但此处它们不会出现在工具栏本身上.它们出现在所选项目的弹出菜单上.

  3. 我试图在列表和额外项目之间放置假物品,我也尝试放置一个组,一个空组,甚至尝试了各种属性.

可悲的是没有用.

这个问题

如何在动作项目的弹出菜单的特定项目之间添加分隔符?

也许我需要在单击操作项时创建自定义弹出菜单(如此)?如果是这样,我如何在特定项目之间放置分隔符?也许使用Spinner作为动作项目?

android submenu divider android-actionbar android-toolbar

21
推荐指数
3
解决办法
3万
查看次数

如何为菜单项Android添加行分隔符

我的菜单项变得更大,所以我想将它们分组并制作一个分隔线来分隔每个组.我现在应该怎么做 ?

    <menu xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto">
<!--group1-->
            <item
                android:id="@+id/action_addtag"
                android:title="@string/add_hashtag_string"
                app:showAsAction="never" />
            <item
                android:id="@+id/action_block_list"
                android:title="Block"
                app:showAsAction="never" />
            <item
                android:id="@+id/action_report_list"
                android:title="Report"
                app:showAsAction="never" />
<!--group2-->
            <item
                android:id="@+id/terms"
                android:title="Terms"
                app:showAsAction="never" />
            <item
                android:id="@+id/feedback"
                android:title="FeedBack"
                app:showAsAction="never" />
<!--group3-->
            <item
                android:id="@+id/action_setting"
                android:title="Setting"
                app:showAsAction="never" />
    </menu>
Run Code Online (Sandbox Code Playgroud)

android contextmenu menu menuitem drop-down-menu

12
推荐指数
4
解决办法
2万
查看次数

减少导航抽屉内菜单组之间的空间

我想减少导航抽屉中每个菜单组之间的空间(在下图中,两行之间的空格).

在此输入图像描述

我创建了一个自定义样式并尝试了以下属性

<item name="android:paddingTop">0dp</item>
<item name="android:paddingBottom">0dp</item>
Run Code Online (Sandbox Code Playgroud)

他们只减少了项目文本周围的填充.

甚至以下属性也没有奏效

<item name="android:layout_marginTop">0dp</item>
<item name="android:layout_marginBottom">0dp</item>
Run Code Online (Sandbox Code Playgroud)

android navigation-drawer

6
推荐指数
1
解决办法
9301
查看次数

使用 xml 菜单的导航抽屉中的分隔线

我一直在关注最新的(?)如何实现物料设计抽屉式导航教程并肩与我这篇文章。

它使用菜单资源 (xml),而不是填充列表视图。非常整洁和容易,但是..

我不知道如何在菜单项之间添加分隔线。来自 Material Design 规范的图片: 在此处输入图片说明

菜单文件

<menu xmlns:android="http://schemas.android.com/apk/res/android">
   <group android:checkableBehavior="single">
      <item
         android:id="@+id/item_1"
         android:checked="true"
         android:icon="@android:drawable/ic_menu_info_details"
         android:title="Item1"
      />
      <item
         android:id="@+id/item_2"
         android:icon="@android:drawable/ic_menu_agenda"
         android:title="Item2"
      />
      <item
         android:id="@+id/item_3"
         android:icon="@android:drawable/ic_menu_mapmode"
         android:title="Item3"
      />
      <item
         android:id="@+id/item_4"
         android:icon="@android:drawable/ic_menu_help"
         android:title="Item4"
      />
   </group>
</menu>
Run Code Online (Sandbox Code Playgroud)

我试过按组划分,但它没有给我任何分隔符。当我添加一个子菜单时,我得到了一个分隔符和一个不需要的标题。

像这样:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
  <group android:checkableBehavior="single">
    <item
      android:id="@+id/item_1"
      android:checked="true"
      android:title="Header1"
    >
      <menu>
        <item
          android:id="@+id/item_2"
          android:icon="@android:drawable/ic_menu_agenda"
          android:title="SubItem1"
        />
      </menu>
    </item>
    <item
      android:id="@+id/item_2"
      android:icon="@android:drawable/ic_menu_agenda"
      android:title="Item2"
    />
    <item
      android:id="@+id/item_3"
      android:icon="@android:drawable/ic_menu_mapmode"
      android:title="Item3"
    />
    <item
       android:id="@+id/item_4"
       android:icon="@android:drawable/ic_menu_help"
       android:title="Item4"
    />
  </group>
</menu>
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

我想要分隔符,而不是标题。提前致谢,感谢您的帮助!

android navigation-drawer material-design

3
推荐指数
1
解决办法
6993
查看次数