2015-04-24 21 views
6

Uso la libreria Android Android-ObservableScrollView di ksoichiro. Uso il suo spazio flessibile di esempio con viewpager e lo modifico. Ma c'è qualche problema. Puoi vedere nel mio xml c'è 2 Android: fitsSystemWindows. Uno in LinearLayout e l'altro in Toolbar. In LinearLayout funziona bene. ma in Toolbar non funziona. Perché questo succede? Grazie. Ci scusiamo per il mio cattivo ingleseandroid: fitsSystemWindows non funziona su Toolbar

theres il mio codice 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> 

risposta

12

L'attributo android:fitsSystemWindows imposta un padding. Ciò significa che l'adattamento si applica alle viste secondarie. Si dovrebbe applicare questo sia per il vostro FrameLayout o mettere la Toolbar in un nidificato Layout

E 'davvero difficile da fare un layout a schermo intero corretta con vista montati sullo schermo. I sottoclasse Fragment dove posso dichiarare una vista del contenuto che riceverà il riempimento a seconda di Status- e/o Navigationbar

Problemi correlati