标签: navigationview

NavigationView获取/查找标题布局

在我的NavigationView中,我有一个标题布局,其id为'viewId',带有活动按钮.要设置这些按钮,我在活动中执行以下操作onPostCreate:

final View panel = findViewById(R.id.viewId);
panel.setOnClickListener(new View.OnClickListener() {
... setup goes here ...
});
Run Code Online (Sandbox Code Playgroud)

使用新版本的android支持库(23.1.0),无法找到视图,它返回null.以前的版本运行良好.这是一个错误还是我使用此功能错了?如果是这样,如何访问标题布局并向其添加行为?

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

161
推荐指数
5
解决办法
9万
查看次数

如何在新的NavigationView中创建一个简单的分隔符?

Google NavigationView在设计支持库版本22.2.0中引入了该版本,您可以使用菜单资源轻松创建抽屉.

如何在两个项目之间创建简单的分隔线?对项目进行分组不起作用.创建子项目部分会创建一个分隔线,但它需要一个我不想要的标题.

任何帮助,将不胜感激.

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

149
推荐指数
8
解决办法
9万
查看次数

NavigationView和自定义布局

我正在使用这样的设计支持库NavigationView:

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/drawer_layout"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:fitsSystemWindows="true">

    <!-- put your main layout here -->
    <include layout="@layout/drawer_main_layout"/>

    <android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_height="match_parent"
        android:layout_width="wrap_content"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        app:headerLayout="@layout/nav_header"
        app:menu="@menu/drawer_view"/>

</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)

我已经设置了这个菜单:

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

    <group android:checkableBehavior="single">
        <item
            android:id="@+id/nav_home"
            android:icon="@drawable/ic_dashboard"
            android:title="Home" />
        <item
            android:id="@+id/nav_messages"
            android:icon="@drawable/ic_event"
            android:title="Messages" />
        <item
            android:id="@+id/nav_friends"
            android:icon="@drawable/ic_headset"
            android:title="Friends" />
        <item
            android:id="@+id/nav_discussion"
            android:icon="@drawable/ic_forum"
            android:title="Discussion" />
    </group>

    <item android:title="Sub items">
        <menu>
            <item
                android:icon="@drawable/ic_dashboard"
                android:title="Sub item 1" />
            <item
                android:icon="@drawable/ic_forum"
                android:title="Sub item 2" />
        </menu>
    </item>

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

有没有办法使用NavigationView布局而不是菜单?
提前致谢

android android-design-library navigationview android-navigationview

77
推荐指数
2
解决办法
6万
查看次数

如何在NavigationView中自定义项目背景和项目文本颜色?

我想实现Material Design Docs中显示的类似内容.

colorControlHighlight 用于检查项目的背景.

我需要自定义:

  • 背景未经检查
  • 文字颜色检查
  • 文本颜色未选中

android drawerlayout material-design android-design-library navigationview

73
推荐指数
6
解决办法
7万
查看次数

如何在NavigationView中为项目设置自定义字体?

使用new NavigationView,我们可以通过XML菜单资源设置抽屉的项目.

有了它,我们可以设置每个项目

<item
  android:id="@+id/drawer_my_account"
  android:icon="@drawable/ic_my_account"
  android:title="@string/drawer_my_account" />
Run Code Online (Sandbox Code Playgroud)

但现在,我想为抽屉中的每个项目设置一个自定义字体,我无法通过XML或Java代码找到方法.有办法吗?

android android-design-library navigationview

64
推荐指数
6
解决办法
6万
查看次数

NavigationView菜单项,右侧有计数器

设计支持库中的新NavigationView非常棒.

他们使用" 菜单项 "来显示选项.

但我怎么能显示计数器正确的菜单项?

就像在这张图片中:

在此输入图像描述

或者像GMail应用程序一样.

android navigation-drawer material-design navigationview androiddesignsupport

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

如何在NavigationView中更改菜单项图标的大小?

我有以下菜单项:

<item
        android:id="@+id/lock"
        android:checkable="true"
        android:title="@string/lock" >
    <menu >

        <item
            android:id="@+id/block_mess"
            android:checked="true"
            android:icon="@drawable/chantinnhan"
            android:title="@string/block_mess_string" />

        <item
            android:id="@+id/block_call"
            android:checked="false"
            android:icon="@drawable/chancuocgoi"
            android:title="@string/block_call_string" />

        <item
            android:id="@+id/lock_app"
            android:checked="false"
            android:icon="@drawable/khoaungdung"
            android:title="@string/lock_app_string" />


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

......还有更多,但它真的很长

但图标真的很小(即使它有res 256x256).我想把它做大!那可能吗?这是截图:

在此输入图像描述

编辑:好的,我们都知道谷歌"锁定"图标大小.但我想知道我可以"绕过"锁定并制作一些东西......可自定义吗?

android material-design navigationview

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

如何在NavigationView中更改分隔符颜色?

我正在尝试使用NavigationView来实现NavigationDrawer.我通过在菜单中设置组ID添加了分隔符.但是我看不到分隔符.我想这是因为分隔符颜色与背景相同.所以我想改变分隔符颜色.但我发现无法改变它.谁能帮我?

在屏幕截图中,似乎有一个空间用于History和之间的分隔符Settings,但你看不到它.

在此输入图像描述

activity_main.xml中

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:fitsSystemWindows="true"
    tools:context=".ui.MapActivity">

    <LinearLayout
        android:id="@+id/main_content"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <include layout="@layout/toolbar_actionbar" />

        <!--main content-->
    </LinearLayout>

    <android.support.design.widget.NavigationView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="@color/navdrawer_background"
        app:insetForeground="#4000"
        app:itemTextColor="@color/navdrawer_item_text_color"
        app:itemIconTint="@color/navdrawer_item_icon_tint"
        app:headerLayout="@layout/drawer_header"
        app:menu="@menu/drawer"/>
</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)

drawer.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <group android:id="@+id/group_feature"
        android:checkableBehavior="single">
        <item android:id="@+id/navdrawer_item_map"
            android:checked="true"
            android:icon="@drawable/ic_drawer_map"
            android:title="@string/navdrawer_item_map"/>
        <item android:id="@+id/navdrawer_item_favourite"
            android:icon="@drawable/ic_drawer_fav"
            android:title="@string/navdrawer_item_fav"/>
        <item android:id="@+id/navdrawer_item_history"
            android:icon="@drawable/ic_drawer_history"
            android:title="@string/navdrawer_item_history"/>
    </group>
    <group android:id="@+id/group_settings"
        android:checkableBehavior="single">
        <item android:id="@+id/navdrawer_item_settings"
            android:icon="@drawable/ic_drawer_settings"
            android:title="@string/navdrawer_item_settings"/>
        <item android:id="@+id/navdrawer_item_help"
            android:icon="@drawable/ic_drawer_help"
            android:title="@string/navdrawer_item_help"/>
        <item android:id="@+id/navdrawer_item_about"
            android:icon="@drawable/ic_drawer_about"
            android:title="@string/navdrawer_item_about"/> …
Run Code Online (Sandbox Code Playgroud)

android navigation-drawer navigationview android-navigationview

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

如何在没有标题的NavigationView菜单中获取分隔符?

我正在使用new NavigationView从XML创建我的导航抽屉菜单.我需要在部分菜单项之间放置一个分隔符,它在我的应用程序各部分之间切换,以及底部的设置和帮助和支持链接.

在我看过的所有例子中,我看到如何通过将另一个放入<menu>一个<item>,但<item>需要具有android:title属性来完成,所以我能做的最好就是将标题留空,这在设置之前留下一个空的空格并提供帮助和反馈.

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <group android:checkableBehavior="single">
        <item
            android:id="@+id/nav_section_1"
            android:icon="@drawable/ic_dashboard"
            android:title="@string/section_1"
            android:checked="true" /> <!-- default selection -->
        <item
            android:id="@+id/nav_section_2"
            android:icon="@drawable/ic_dashboard"
            android:title="@string/section_2" />
        <item
            android:id="@+id/nav_section_3"
            android:icon="@drawable/ic_dashboard"
            android:title="@string/section_3" />
    </group>

    <item android:title="@null"> <!-- I don't want a title or space here! -->
        <menu>
            <item
                android:id="@+id/nav_settings"
                android:icon="@drawable/ic_settings"
                android:title="@string/settings" />
            <item
                android:id="@+id/nav_help_feedback"
                android:icon="@drawable/ic_help"
                android:title="@string/help_feedback" />
        </menu>
    </item>
</menu>
Run Code Online (Sandbox Code Playgroud)

我已经试过的各种组合<menu>,<item>以及<group>标签,但没有发现任何东西,将工作.例如,这具有使用上一组中​​的最后一项作为组标题的问题:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <group android:checkableBehavior="single">
        <item
            android:id="@+id/nav_section_1"
            android:icon="@drawable/ic_dashboard"
            android:title="@string/section_1"
            android:checked="true" /> …
Run Code Online (Sandbox Code Playgroud)

android divider android-menu navigationview

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

如何在新的NavigationView中添加自定义视图

我想一个开关添加为菜单项NavigationView这样

在此输入图像描述

我使用了actionViewClass属性,但它只显示标题.

<item
android:id="@+id/navi_item_create_notifications_sound"
android:title="Notifications Sounds"
xmlns:app="http://schemas.android.com/apk/res-auto"
app:actionViewClass="android.support.v7.widget.SwitchCompat"
app:showAsAction="always" />
Run Code Online (Sandbox Code Playgroud)

android navigationview android-navigationview

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