2017-01-05 3 views
1

В настоящее время у меня есть прозрачная панель инструментов с drawerlayout. Он расположен в рамке, так что drawerlayout перекрывается панелью инструментов, но я хочу, чтобы она была внизу.Прозрачная панель инструментов с выдвижным ящиком

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

    <android.support.v4.widget.DrawerLayout 
     android:id="@+id/drawer_layout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     > 
     <!-- Framelayout to display Fragments --> 
     <FrameLayout 
      android:id="@+id/frame_container" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"></FrameLayout> 

     <!-- Listview to display slider menu --> 
     <ListView 
      android:id="@+id/list_slidermenu" 
      android:layout_width="240dp" 
      android:layout_height="match_parent" 
      android:layout_gravity="start" 
      android:choiceMode="singleChoice" 
      android:divider="@color/list_divider" 
      android:dividerHeight="1dp" 
      android:listSelector="@drawable/list_selector" 
      android:background="@color/list_background"/> 

    </android.support.v4.widget.DrawerLayout> 
    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:minHeight="?attr/actionBarSize" 
     android:background="@color/tb_background" 
     app:theme="@style/TransparentToolbar" 
     app:titleTextAppearance="@style/Toolbar.TitleText" 
     > 
    </android.support.v7.widget.Toolbar> 
</FrameLayout> 

Как я могу сделать так, чтобы прозрачная панель инструментов не перекрывала drawerlayout?

+0

добавить пожалуйста? – xFighter

+0

Я хочу сделать так, чтобы панель инструментов не перекрывала drawerlayout – user7346168

+0

Добавить скриншот – xFighter

ответ

0

прежде всего вам не нужна дополнительная компоновка фрейма для вашего макета ящика. Просто сопоставьте свой макет, как показано ниже.

Вместо использования в виде списка вы можете использовать новый вид поддержки навигации для меню навигации, как это избавит вас от дополнительного кодирования и дает ваше приложение стандартный внешний вид, как и другие приложения Android.

<?xml version="1.0" encoding="utf-8"?> 
<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"> 

    <!-- this is the main content view --> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:minHeight="?attr/actionBarSize" 
     android:background="@color/tb_background" 
     app:theme="@style/TransparentToolbar" 
     app:titleTextAppearance="@style/Toolbar.TitleText" /> 

     <FrameLayout 
      android:id="@+id/content_frame" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:foreground="?android:windowContentOverlay" /> 
    </LinearLayout> 

    <!-- you used here listView --> 
    <!-- this is the navigation --> 
    <android.support.design.widget.NavigationView 
     android:id="@+id/navigation_view" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:fitsSystemWindows="true" 
     app:headerLayout="@layout/navigation_header" 
     app:menu="@menu/navigation_menu" /> 

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

следовать официальной документации ниже:

Creating Navigation Drawer

NavigationView

0

Вам нужно держать DrawerLayout как корневой макете и внутри него использовать FrameLayout с Toolbar.

Что-то вроде этого: скриншот

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
> 

<FrameLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    > 
    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:minHeight="?attr/actionBarSize" 
     android:background="@color/tb_background" 
     app:theme="@style/TransparentToolbar" 
     app:titleTextAppearance="@style/Toolbar.TitleText" 
     > 
    </android.support.v7.widget.Toolbar> 
    <!-- Framelayout to display Fragments --> 
    <FrameLayout 
     android:id="@+id/frame_container" 
     android:layout_marginTop="?attr/actionBarSize" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"></FrameLayout> 

</FrameLayout> 

<!-- Listview to display slider menu --> 
    <ListView 
     android:id="@+id/list_slidermenu" 
     android:layout_width="240dp" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:choiceMode="singleChoice" 
     android:divider="@color/list_divider" 
     android:dividerHeight="1dp" 
     android:listSelector="@drawable/list_selector" 
     android:background="@color/list_background"/> 

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