向导航抽屉添加按钮

时间:2017-01-16 17:16:23

标签: android navigation-drawer

我有Navigation Drawer显示待办事项列表,我希望在我的导航栏右下角添加 + 按钮或Floating Action Button。抽屉是为了让我的用户创建一个新列表。显然,此按钮应仅在抽屉打开时显示。

以下是我抽屉的xml

<?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/nav_general"
            android:icon="@mipmap/ic_launcher"
            android:title="@string/generalTab" />

        <item
            android:id="@+id/nav_daily"
            android:icon="@mipmap/ic_launcher"
            android:title="@string/dailyTab" />

        <item
            android:id="@+id/nav_groceries"
            android:icon="@mipmap/ic_launcher"
            android:title="@string/groceriesTab" />
    </group>

    <group android:checkableBehavior="single">
        <item
            android:id="@+id/nav_about"
            android:icon="@mipmap/ic_launcher"
            android:title="@string/aboutTab" />                   
    </group>

</menu>

以下是xml包含我的DrawerLayout

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

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

        <include
            layout="@layout/app_bar_main"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

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

    </android.support.v4.widget.DrawerLayout>

</RelativeLayout>

我怎么能实现它?

1 个答案:

答案 0 :(得分:0)

最后创建一个新项目,并为其设置actionViewClass属性。

<group android:checkableBehavior="single">
    <item
        android:id="@+id/nav_general"
        android:icon="@mipmap/ic_launcher"
        android:title="@string/generalTab" />

    <item
        android:id="@+id/nav_daily"
        android:icon="@mipmap/ic_launcher"
        android:title="@string/dailyTab" />

    <item
        android:id="@+id/nav_groceries"
        android:icon="@mipmap/ic_launcher"
        android:title="@string/groceriesTab" />
</group>

<group android:checkableBehavior="single">
    <item
        android:id="@+id/nav_about"
        android:icon="@mipmap/ic_launcher"
        android:title="@string/aboutTab" />  
<item
        android:actionViewClass="floating_button"
        android:id="@+id/nav_about"
        android:icon="@mipmap/ic_launcher"
        android:title="@string/aboutTab" />  


</group>

  

将floating_button替换为浮动按钮的完全限定类名。