2015-08-17 3 views
0

Как получить мой основной макет, чтобы просто выстроиться прямо под моим DrawerLayout? Мой основной макет приведен ниже и в основном состоит из списков. Сейчас все перекрывается. Итак, внизу показано мое DrawerLayout. После закрытия DrawerLayout отображается моя основная деятельность.Наложение макета наложения, перекрывающееся с основным макетом

<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=“com.example.my.app.FragmentDrawer" 
    android:layout_width="@dimen/nav_drawer_width" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    android:layout="@layout/fragment_navigation_drawer" 
    tools:layout="@layout/fragment_navigation_drawer" /> 

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





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


<TextView 
    android:id="@+id/txt_empty_list_cars" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_centerInParent="true" 
    android:layout_margin="4dp" 
    android:gravity="center" 
    android:text="@string/view1" 
    android:textAppearance="?android:attr/textAppearance" 
    android:textColor="@android:color/darker_gray" 
    android:visibility="gone" /> 

<ListView 
    android:id="@+id/list_cars" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/txt_header" 
    android:layout_margin="4dp" 
    android:divider="@android:drawable/divider_horizontal_bright" 
    android:dividerHeight="0.5dp" 
    android:listSelector="@android:drawable/list_selector_background" /> 

ответ

0

Для того, чтобы правильно использовать DrawerLayout, он должен быть единственным корневым/родительский вид всего макета.

<android.support.v4.widget.DrawerLayout> 

     /*other nested child views */ 

     <fragment 
     android:id="@+id/fragment_navigation_drawer" 
     ... 
     />  

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

Кроме того, чтобы предотвратить над притиркой, убедитесь, что у вас есть два прямых дочерние представления согласно проекту руководящего положения в
https://developer.android.com/reference/android/support/v4/widget/DrawerLayout.html

«Для того, чтобы использовать DrawerLayout, расположите основной вид контента в качестве первого ребенка с шириной и высотой match_parent. Добавьте ящики в виде дочерних представлений после основного представления содержимого и установите layout_gravity соответствующим образом. "

0

Я не знаю, если ваше ищем раздвижную панель, как новое приложение Gmail , но если да, то вы можете обратиться себя Sliding Pane Layout и это очень удивительный tutorial.

надеюсь, что это поможет, счастливые кодировки.

1

Итак, ваша проблема drawer layout, перекрывающая linear layout ниже. Использовать

android: layout_below="@id/drawer_layout" 

В вашем linear layout. Это будет линейно упорядочивать оба макета.

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