2016-04-10 12 views
3

In meiner App habe ich eine Aktivität. Das Thema für diese Aktivität ist normal vorge L ist aber für L und oben außer Kraft gesetzt, mit:fitsSystemWindows funktioniert nicht im hinzugefügten Fragment

... 
<item name="android:windowDrawsSystemBarBackgrounds">true</item> 
<item name="android:statusBarColor">@color/statusTrans</item> 
... 

Diese Aktivität hat ein Layout wie folgt aus (fsw bedeutet, dass der Knoten fitsSystemWindows), um den Materialeffekt zu geben.

CoordinatorLayout (fsw) 
    L AppBarLayout (fsw) 
     L CollapsingToolbarLayout (fsw) 
      L ImageView (fsw) 
      L Toolbar 
     L TabLayout 
    L ViewPager 
    L FAB 

Sache ist, ich ein Vollbild DialogFragment über eine Transaktion zu dieser Aktivität hinzuzufügen, indem es android.R.id.content Zugabe dieses Layout mit

CoordinatorLayout (fsw) 
    L AppBarLayout (fsw) 
     L CollapsingToolbarLayout (fsw) 
      L FrameLayout 
      L Toolbar 
     L TabLayout 
    L NestedScrollView 

erstes Layout der statusBar ansaugt und dann die Toolbar darunter wie erwartet (dh Einsätze werden angewendet), aber das hinzugefügte Fragment-Layout zieht die Toolbar direkt unter der Statusleiste und ich kann nicht scheinen, um es richtig zu zeichnen.

Ich weiß nicht, was ich falsch mache. Hier sind zwei Screenshots, die das Problem zeigen.

OneTwo

.

AUCH (Bonus-Frage!)

In der gleichen Aktivität, stelle ich die Viewpager eine ScrollingViewBehavior haben. Die Fragmente, die die Viewpager bevölkern, haben jedoch eine ViewFlipper, die eine von diesen ausschaltet: ein loadingView (ProgressBar), contentView (RecyclerView) und emptyView (LinearLayout). Dies stellt sicher, dass die Aktivität den gewünschten Scroll-Effekt hat, wenn Inhalt vorhanden ist.

Problem mit der leeren Ansicht, weil es nicht richtig zentriert. Ich habe ein Bild angehängt.

Wie kann ich dieses Verhalten korrigieren (oder hacken)?

Three

Antwort

1

Überall dort, wo Ihr Ihr Fragment stellen Sie sicher sein in einem Koordinator Layout zu ersetzen. Zum Beispiel sieht, wenn Ihr xml wie folgt aus:

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    tools:ignore="MissingPrefix"> 

    <FrameLayout 
     android:id="@+id/fl_layout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

dann wickeln, dass in einem coordinatorlayout das Problem zu lösen.

Verwandte Themen