Панель инструментов 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>