Подтвердить что ты не робот

КоординаторLayout (AppbarLayout) не отображает панель инструментов правильно

Я использую новую библиотеку поддержки дизайна, чтобы добиться прокрутки, чтобы скрыть панель инструментов. Однако, все работает хорошо, если я не загружаю изображения по пикассо. Если я загружаю изображения, иногда, когда я прокручиваю вниз, чтобы снова показывать панель инструментов, моя панель инструментов становится пустым белым прямоугольником. Обратите внимание, что в этой ситуации я все еще могу нажать навигационную кнопку, чтобы открыть ящик, хотя на экране не отображается ничья (показать):

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

Но иногда это хорошо работает:

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

Я так запутался в этом, если отключить все задачи загрузки изображения, панель инструментов может быть показана правильно. Вот мой макет:

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

Я думаю, что когда picasso загружает изображение в ImageView, он может запроситьFocus и requestLayout, и CoordinatorLayout не сможет правильно перерисовать панель инструментов в этой ситуации, но это только мое предположение.

Любое предложение поможет, большое спасибо!

4b9b3361

Ответ 1

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

Попробуйте это. Я решил эту проблему с помощью этого фрагмента. Я добавил фиктивный вид, который имеет высоту 1dp после панели инструментов.