2016-08-19 3 views
0

AppBarLayout выходит за панель состояния. Я сделал навигационную панель полупрозрачной. Если я использую fitSystemWindow, содержимое не отображается под панелью навигации. Я хочу, чтобы сохранить содержание ниже панели навигации и сделать AppBarLayout ниже строки состоянияКак предотвратить включение AppBarLayout в строку состояния?

<?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" 
    android:id="@+id/fragment_main_drawer_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.design.widget.CoordinatorLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

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

      <android.support.v7.widget.Toolbar 
       android:id="@+id/fragment_main_toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       android:title="@string/app_name" 
       app:layout_scrollFlags="scroll|enterAlways" 
       app:titleTextColor="@android:color/white"/> 

      <android.support.design.widget.TabLayout 
       android:id="@+id/fragment_main_tab_layout" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:minHeight="?attr/actionBarSize" 
       app:tabBackground="@android:color/white" 
       app:tabGravity="fill" 
       app:tabIndicatorColor="@color/colorPrimary" 
       app:tabMaxWidth="0dp" 
       app:tabSelectedTextColor="@color/colorPrimary" 
       app:tabTextColor="@color/tab_unselected"> 

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

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

     <android.support.v4.view.ViewPager 
      android:id="@+id/fragment_main_view_pager" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

     </android.support.v4.view.ViewPager> 

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

    <android.support.design.widget.NavigationView 
     android:layout_width="280dp" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:background="@color/colorPrimary"> 
     <ImageView 
      android:layout_width="200dp" 
      android:layout_height="200dp" 
      android:layout_gravity="bottom|right" 
      android:src="@drawable/navbar_bottom"/> 

    </android.support.design.widget.NavigationView> 
</android.support.v4.widget.DrawerLayout> 
+0

вы можете использовать панель инструментов из AppbarLayout. – KrishnaJ

+0

Но мне также нужен прокручивающий эффект, т. Е. Нужны прокручивающие флаги –

+0

, вы можете поместить это в линейный макет, а также можете в scrollview, если ваши требования будут такими. – KrishnaJ

ответ

0

Попробуйте добавить это к вашему CoordinatorLayout

android:fitsSystemWindows="true" 

Форматы: булево

Boolean внутренний атрибут, чтобы настроить вид макет на основе системных окон , таких как строка состояния. Если значение true, отрегулируйте заполнение этого окна , чтобы оставить пространство для системных окон. Вступит в силу только в том случае, если это представление находится в не встроенной деятельности.

+0

Если я это сделаю, содержимое не будет находиться под навигационной панелью –

+0

Извините, я изначально читал это, но не видел атрибута в вашем коде до того, как я разместил его. AppBarLayout содержит как панель инструментов, так и вкладки. Вы имеете в виду, что макет вкладки идет за панель инструментов? –

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