2015-05-30 8 views
18

Używam nowej biblioteki wsparcia projektu, aby uzyskać przewijanie do ukrywania paska narzędzi. Jednak wszystko działa dobrze, jeśli nie ładuję obrazów przez Picasso. Jeśli ładuję obrazy, czasami kiedy przewijam w dół, aby ponownie wyświetlić pasek narzędzi, mój pasek narzędzi staje się pustym białym prostokątem. Należy zauważyć, że w tej sytuacji nadal może nacisnąć przełącznik nawigacyjny, aby otworzyć szufladę, choć nie jest remis (pokaż) na ekranie:CoordinatorLayout (AppbarLayout) nie rysuje poprawnie paska narzędzi

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

Ale czasami to działa dobrze:

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

Jestem bardzo zakłopotany, jeśli wyłączę wszystkie zadania związane z ładowaniem, pasek narzędzi będzie wyświetlany poprawnie. Oto mój plan:

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

myślę kiedy obraz obciążenie picasso do ImageView, może requestFocus i requestLayout i CoordinatorLayout nie przerysować pasek właściwie w tej sytuacji, ale to tylko moje przypuszczenie.

Każda sugestia pomoże, wielkie dzięki!

+0

Też miałem do czynienia z tym samym rodzajem problemu. nie mogę tego rozgryźć. Każda pomoc będzie znacząca ... – Sayem

+0

Wygląda na to, że stało się to tylko poniżej 5.1 – CzBiX

Odpowiedz

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> 

Spróbuj tego. Rozwiązałem ten sam problem za pomocą tego fragmentu. Dołączyłem widok dummy, który ma wysokość 1dp po pasku narzędzi.

+0

Czy możesz wyjaśnić, co to za problem? – CzBiX

+0

To jest błąd. Zobacz [link] (http://stackoverflow.com/questions/30540648/new-android-design-library-bug-with-appbarlayout-and-toolbar) – neosarchizo

+0

WTF Google? Błąd nadal istnieje 1 rok później. – 0101100101