13

Sto cercando di implementare i nuovi trucchi di progettazione di Google con CoordinatorLayout e ho problemi con lo scorrimento e l'effetto di parallasse.CoordinatorLayout lascia uno spazio vuoto in basso dopo lo scorrimento

Dopo che viene visualizzata l'attività, tutto sembra ok ma il problema si verifica quando provo a scorrere. Sembra che la vista in basso non sia stata espansa correttamente e dopo che è stata fatta scorrere verso l'alto, lo spazio vuoto appare sotto. Vista inferiore sembra essere grande solo quanto ha sulla visualizzazione iniziale tra la vista superiore e la barra di navigazione.

Sembra qualcosa di simile a questo:

enter image description here

codice rilevante:

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

Questo comportamento strano accade a caso. A volte la vista dal basso è scorrevole normalmente e lo spazio vuoto non viene visualizzato. Che cosa sto facendo di sbagliato? Grazie.

+0

hai trovato qualche soluzione per questo? – goonerDroid

+0

@goonerDroid, non l'ho fatto. Alla fine ho smesso di usare la libreria di Google. – user4386126

+0

Ritengo che questo sia il comportamento previsto del layout del coordinatore. Non è sicuro. – goonerDroid

risposta

1

tenta di aggiungere Toolbar all'interno vostro CollapsingToolbarLayout:

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

anche tenta di aggiungere

android: MinHeight = "? Attr/actionBarSize"

a ToolbarCollapsingToolbarLayout e AppBarLayout

11

Ho avuto lo stesso problema e ho notato che ogni disposizione con questo problema ha avuto

android:fitsSystemWindows="true" 

su CoordinatorLayout

rimozione è risolto il mio problema in tutto il mondo.

+0

non funziona per me –

+0

Ok ora funziona. Stavo usando 'RecyclerView' invece di' ViewPager', l'ho appena fatto 'match_parent'. Ora sta funzionando. –

0

Per ragioni di navigazione ragioni android: fitsSystemWindows = "true" non ha soddisfatto le mie esigenze.

Dopo aver giocato in giro ho scoperto che aggiungere un altro CollapsingToolbarLayout con 0dp hieght fa il trucco.

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