2015-05-30 11 views
18

Sto utilizzando la nuova libreria di supporto alla progettazione per ottenere lo scorrimento per nascondere la barra degli strumenti. Tuttavia, ogni cosa funziona bene se non carico le immagini con Picasso. Se carico le immagini, a volte quando scorro verso il basso per far apparire di nuovo la barra degli strumenti, la mia barra degli strumenti diventa un rettangolo bianco vuoto. Si noti che in questa situazione posso ancora premere l'interruttore di navigazione per aprire il cassetto, anche se non è disegnare (mostra) sullo schermo:CoordinatorLayout (AppbarLayout) non disegna correttamente la barra degli strumenti

https://www.dropbox.com/s/nte3pr091nt2wfx/device-2015-05-30-093222.png?dl=0

Ma a volte funziona bene:

https://www.dropbox.com/s/i3u87df4x48fhj6/device-2015-05-30-094217.png?dl=0

Sono così confuso da questo, se disattivo tutto il caricamento dell'immagine, la barra degli strumenti può essere visualizzata correttamente. Ecco il mio layout:

<android.support.design.widget.CoordinatorLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     app:layout_scrollFlags="scroll|enterAlways" /> 

    </android.support.design.widget.AppBarLayout> 

    <FrameLayout 
     android:id="@+id/main" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 

</android.support.design.widget.CoordinatorLayout> 

Penso che quando caricare l'immagine di Picasso in ImageView, può requestFocus e requestLayout e il CoordinatorLayout non può ridisegnare la barra degli strumenti correttamente in quella situazione, ma è solo la mia ipotesi.

Qualsiasi suggerimento aiuterà, molte grazie!

+0

Ho anche affrontato lo stesso tipo di problema. non riesco a capirlo. Qualsiasi aiuto sarà apprezzabile ... – Sayem

+0

Sembra che sia successo solo sotto 5.1 – CzBiX

risposta

10
<android.support.design.widget.CoordinatorLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     app:layout_scrollFlags="scroll|enterAlways" /> 

     <View 
     android:layout_width="fill_parent" 
     android:layout_height="1dp"/> 

    </android.support.design.widget.AppBarLayout> 

    <FrameLayout 
     android:id="@+id/main" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 

</android.support.design.widget.CoordinatorLayout> 

Prova questo. Ho risolto lo stesso problema con questo frammento. Ho aggiunto una vista fittizia che ha un'altezza di 1 dpi dopo la barra degli strumenti.

+0

Puoi spiegare qual è questo problema? – CzBiX

+0

È un bug. Vedi questo [collegamento] (http://stackoverflow.com/questions/30540648/new-android-design-library-bug-with-appbarlayout-and-toolbar) – neosarchizo

+0

WTF Google? L'errore esiste ancora 1 anno dopo. – 0101100101