2017-01-16 2 views
1

У меня есть 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> 

Как я могу добиться этого?

+0

посмотреть http://stackoverflow.com/questions/37591717/how-to-make-focus-to-floatingactionbutton-even-if-the-navigation-drawer-is-open – rafsanahmad007

+0

добавить свой файл XML ящик где вид. – W4R10CK

ответ

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 с полным квалифицированным именем класса плавающей кнопки.

Смежные вопросы