Панель инструментов CoordinatorLayout невидима при входе до полной высоты

Включено в мой файл activity_main.xmlDrawerLayout это CoordinatorLayout называется content_layout.xml. В этом CoordinatorLayout мой AppBarLayout содержащий Toolbar, затем LinearLayout для содержания фрагмента.

Когда фрагмент, содержащий RecyclerView прокручивается вверх, панель инструментов успешно завершена. Проблема заключается в прокрутке вниз, чтобы вернуть панель инструментов назад. Панель инструментов не появляется до тех пор, пока не будет прокручена вся высота панели инструментов, и, как показано, оставляет на ее месте неприглядный белый прямоугольник.

http://i59.tinypic.com/33xil5d.png

content_layout.xml

<android.support.design.widget.CoordinatorLayout
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/container_frame"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_scrollFlags="scroll|enterAlways"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

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

    <!-- The main content view for fragments-->
    <LinearLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

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

Панель инструментов инициализируется через MainActivity"s onCreate():

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

Буду признателен за любые предложения по решению этой проблемы. Спасибо.

1 ответ

Решение

У меня была та же самая проблема, и единственное, что я нашел, что решило это, было что-то еще, кроме toolbar внутри AppBarLayout, Я разместил невидимый вид в моем макете под панелью инструментов. Не самое идеальное решение, но оно сработало.

<android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">      

     <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_scrollFlags="scroll|enterAlways"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

     <View
        android:id="@+id/appbar_bottom"
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@android:color/transparent"
        android:visibility="invisible"/>

</android.support.design.widget.AppBarLayout>
Другие вопросы по тегам