13

Ich versuche, Googles neueste Design-Tricks mit CoordinatorLayout zu implementieren und Probleme mit Scrolling und Parallax-Effekt zu haben.CoordinatorLayout lässt leeren Platz nach dem Scrollen

Nachdem Aktivität angezeigt wird, sieht alles gut aus, aber das Problem tritt auf, wenn ich versuche, einen Bildlauf durchzuführen. Es scheint so, als ob die untere Ansicht nicht korrekt expandiert wird und nach dem Bildlauf ein leerer Bereich darunter erscheint. Die untere Ansicht scheint nur so groß zu sein, wie viel sie bei der ersten Anzeige zwischen Draufsicht und Navigationsleiste hat.

Es sieht ungefähr so ​​aus:

enter image description here

Relevante Code:

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

<CoordinatorLayout 
    android:layout_height="match_parent" 
    android:layout_width="match_parent"> 

    <AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <CollapsingToolbarLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed" 
      app:expandedTitleMarginStart="72dp" 
      app:expandedTitleMarginEnd="16dp"> 

      <ImageView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       app:layout_collapseMode="parallax"/> 
     </CollapsingToolbarLayout> 
    </AppBarLayout> 

    <ViewPager 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 

</CoordinatorLayout> 
</FrameLayout> 

Dieses seltsame Verhalten geschieht zufällig. Manchmal ist die untere Ansicht normal scrollbar und dieser leere Bereich erscheint nicht. Was mache ich falsch? Vielen Dank.

+0

Haben Sie irgendwelche Lösungen dafür gefunden? – goonerDroid

+0

@goonerDroid, habe ich nicht. Am Ende habe ich aufgehört, Googles Bibliothek zu benutzen. – user4386126

+0

Ich fühle, dass dies das beabsichtigte Verhalten des Koordinatorlayouts ist. Nicht sicher, obwohl. – goonerDroid

Antwort

1

Versuchen Toolbar innen Ihr CollapsingToolbarLayout hinzuzufügen:

<android.support.design.widget.CollapsingToolbarLayout> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       android:minHeight="?attr/actionBarSize" 
       app:layout_collapseMode="pin"/> 
... 
</android.support.design.widget.CollapsingToolbarLayout> 

Händler

android hinzuzufügen: minHeight = "attr/actionBarSize"

zu ToolbarCollapsingToolbarLayout und AppBarLayout

11

hatte ich das gleiche Problem, und ich bemerkte, dass jedes Layout mit diesem Problem

auf CoordinatorLayout

Entfernen es mein Problem behoben überall

android:fitsSystemWindows="true" 
hatte.

+0

funktioniert nicht für mich –

+0

Ok jetzt funktioniert. Ich habe 'RecyclerView' anstelle von' ViewPager' verwendet, ich habe es einfach 'match_parent' gemacht. Jetzt geht es. –

0

Für Navigationsflaggen Gründe android: fitsSystemWindows = "true" hat meine Bedürfnisse nicht erfüllt.

Nach etwas herumspielen fand ich, dass das Hinzufügen eines anderen CollapsingToolbarLayout mit 0dp hieght den Trick macht.

<android.support.design.widget.CollapsingToolbarLayout 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    app:layout_scrollFlags="scroll|snap" />