0

我正在使用這個材質設計導航抽屜的例子,問題是,當我打開我的抽屜時,它也覆蓋了我的操作欄..我的抽屜圖標不可見..這是什麼我正在getting..and以下是我的代碼..導航抽屜涵蓋我的工具欄

<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"> 


    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical"> 

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

      <include 
       android:id="@+id/toolbar" 
       layout="@layout/toolbar" /> 
     </LinearLayout> 

     <FrameLayout 
      android:id="@+id/container_body" 
      android:layout_width="fill_parent" 
      android:layout_height="0dp" 
      android:layout_weight="1" /> 


    </LinearLayout> 


    <fragment 
     android:id="@+id/fragment_navigation_drawer" 
     android:name="info.androidhive.materialdesign.activity.FragmentDrawer" 
     android:layout_width="@dimen/nav_drawer_width" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     app:layout="@layout/fragment_navigation_drawer" 
     tools:layout="@layout/fragment_navigation_drawer" /> 

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

enter image description here

+2

如果按照材質設計抽屜式導航模式,它實際上應該包括操作欄。 https://www.google.com/design/spec/patterns/navigation-drawer.html –

+0

我希望使用xml查看像fiverr應用程序 –

回答

4

我會建議使用具有垂直取向父的線性佈局,然後第一個孩子是你的工具欄和第二你的抽屜佈局。

linearlayout vertical 
    toolbar 
    drawerlayout 

希望這會有所幫助。

+1

的帖子,以便它可以幫助其他人 –

0

您可以使用Listview而不是fragment它會在導航欄下面放置導航欄。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      style="@style/MyToolBarStyle.Base" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="?attr/colorPrimary" 
      android:minHeight="?attr/actionBarSize" /> 
    </LinearLayout> 

    <android.support.v4.widget.DrawerLayout 
     android:id="@+id/drawerLayout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 


     <!-- activity view --> 
     <!-- Framelayout to display Fragments --> 
     <FrameLayout 
      android:id="@+id/frame_container" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" /> 

     <!-- navigation drawer --> 
     <ListView 
      android:id="@+id/list_slidermenu" 
      android:layout_width="@dimen/slider_dimen" 
      android:layout_height="match_parent" 
      android:layout_gravity="start" 
      android:background="@android:color/white" 
      android:divider="#000" 
      android:dividerHeight="1dp" /> 

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

</LinearLayout> 
2

無論您在android.support.v4.widget.DrawerLayout中有什麼,都會被導航抽屜覆蓋。看到您的工具欄位於android.support.v4.widget.DrawerLayout,因此它位於導航抽屜下方。所有你需要做的是保持它的android.support.v4.widget.DrawerLayout。這些都是視圖,因此請設計您的佈局,使您的工具欄高於android.support.v4.widget.DrawerLayout及其子視圖。

但是我應該說明,在Android 5.0棒棒糖之後,根據材質指南,導航抽屜應該放在工具欄上。但是你沒有必要這樣做。

下面是一個例子佈局 (然而,理解理論部分是必要的,因爲你可以在這之後創建任何類型的佈局)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="56dp" 
     android:layout_gravity="start" 
     android:background="@android:color/transparent" 
     android:minHeight="?attr/actionBarSize" 
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
     app:theme="@style/toolBarStyle" 
     app:titleTextAppearance="@style/Toolbar.TitleText" /> 

    <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:layout_below="@+id/toolbar" 
     android:fitsSystemWindows="true"> 

     <RelativeLayout 
      android:id="@+id/container" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_marginTop="0dp" 
      android:background="@android:color/transparent" /> 

     <fragment 
      android:id="@+id/navigation_drawer" 
      class="com.buzzintown.consumer.drawer.NavigationDrawerFragment" 
      android:layout_width="310dp" 
      android:layout_height="match_parent" 
      android:layout_gravity="start" 
      tools:layout="@layout/drawer_layout" /> 
    </android.support.v4.widget.DrawerLayout> 
</RelativeLayout> 
+0

您可以使用xml作爲答案發布它會幫助其他人 –

+0

@Lakhan我已經添加了一個示例佈局。看到工具欄在DrawerLayout viewGrouo之外。所以抽屜將不會穿過工具欄。 – VipulKumar

1

這是最新的例子導航視圖中。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 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:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    android:orientation="vertical"> 

    <android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     tools:openDrawer="start"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 

    android:layout_height="@dimen/abc_action_bar_default_height_material" 
     android:background="?attr/colorPrimary" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/> 

</android.support.design.widget.AppBarLayout> 

<android.support.v4.widget.DrawerLayout 
    android:id="@+id/drawer_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <!--content_main is my layout you can design your own--> 
    <include layout="@layout/content_main" /> 

    <FrameLayout 
     android:id="@+id/content" 
     layout="@layout/content_main" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

<!-- The navigation drawer with menu items defined in activity_main_drawer --> 
    <android.support.design.widget.NavigationView 
     android:id="@+id/nav_view" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     app:menu="@menu/activity_main_drawer" /> 

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


</LinearLayout> 
0
Modifying your code for the result you expect: 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <include 
      android:id="@+id/toolbar" 
      layout="@layout/toolbar" /> 

<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:layout_below="@+id/toolbar"> 

    <FrameLayout 
     android:id="@+id/container_body" 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" /> 

    <fragment 
    android:id="@+id/fragment_navigation_drawer" 
    android:name="info.androidhive.materialdesign.activity.FragmentDrawer" 
    android:layout_width="@dimen/nav_drawer_width" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    app:layout="@layout/fragment_navigation_drawer" 
    tools:layout="@layout/fragment_navigation_drawer" /> 

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

</RelativeLayout> 


Your Welcome...