2015-04-24 4 views
6

Я использую андроид-библиотеку Android-ObservableScrollView от ksoichiro. Я использую его образец Flexible Space с viewpager, и я его модифицирую. Но есть некоторые проблемы. Вы можете видеть в моем xml есть 2 android: fitsSystemWindows. Один в LinearLayout, а другой в панели инструментов. В LinearLayout работает хорошо. но в панели инструментов не работает. Почему это происходит? Спасибо. Извините за мой плохой английскийandroid: fitsSystemWindows не работает на панели инструментов

Theres мой XML код:

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

<com.github.ksoichiro.android.observablescrollview.TouchInterceptionFrameLayout 
    android:id="@+id/container" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <ImageView 
     android:id="@+id/image" 
     android:layout_width="match_parent" 
     android:layout_height="@dimen/flexible_background" 
     android:scaleType="centerCrop" 
     android:src="@drawable/bridge" /> 

    <View 
     android:id="@+id/overlay" 
     android:layout_width="match_parent" 
     android:layout_height="@dimen/flexible_background" 
     android:background="?attr/colorPrimary" /> 

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

     <FrameLayout 
      android:id="@+id/header" 
      android:layout_width="match_parent" 
      android:layout_height="@dimen/flexible_height"> 

      <TextView 
       android:id="@+id/title" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       android:layout_gravity="bottom" 
       android:layout_margin="@dimen/abc_action_bar_default_padding_material" 
       android:ellipsize="end" 
       android:gravity="center_vertical" 
       android:maxLines="1" 
       android:minHeight="?attr/actionBarSize" 
       android:textColor="@android:color/white" 
       android:textSize="20sp" /> 
     </FrameLayout> 

     <com.bright.nongkrongyuk.ui.SlidingTabLayout 
      android:id="@+id/sliding_tabs" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="bottom" 
      android:background="@android:color/black" 
      app:sliding_textColor="@drawable/sliding_tab_profile" /> 

     <android.support.v4.view.ViewPager 
      android:id="@+id/pager" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:background="@android:color/background_light" /> 
    </LinearLayout> 
</com.github.ksoichiro.android.observablescrollview.TouchInterceptionFrameLayout> 

<android.support.v7.widget.Toolbar 
    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:background="@android:color/transparent" 
    android:minHeight="?attr/actionBarSize" 
    android:fitsSystemWindows="true" /> 
</FrameLayout> 

ответ

12

Атрибут android:fitsSystemWindows задает отступы. Это означает, что фитинг применим к представлениям для детей. Вы должны применить это либо к вашим FrameLayout или положить Toolbar в гнездовой Layout

Это действительно сложно сделать правильный полноэкранный макет с видом установленный на экран. Я подклассифицировал Fragment, где я могу объявить контент-представление, которое получит дополнение в зависимости от состояния и/или навигационной панели

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