CoordinatorLayout工具栏看不见的进入,直到全高
包括在我的 activity_main.xml 的 DrawerLayout
是 CoordinatorLayout
叫 content_layout.xml 。在这个 CoordinatorLayout
是我的 AppBarLayout
包含工具栏
,然后一个的LinearLayout
的片段的内容。
Included in my activity_main.xml's DrawerLayout
is a CoordinatorLayout
called content_layout.xml. Within this CoordinatorLayout
is my AppBarLayout
containing a Toolbar
, then a LinearLayout
for a fragment's content.
当含有片段的 RecyclerView
向上滚动,工具栏成功退出。滚动时下跌带来的工具栏后面的问题所在。的工具栏不出现,直到工具栏的整个高度已滚动,因此留下难看的白盒在它的位置,如图所示。
When a fragment containing a RecyclerView
is scrolled up, the toolbar exits successfully. The problem lies when scrolling down to bring the toolbar back. The toolbar does not appear until the full height of the toolbar has been scrolled and as such leaves an unsightly white box in its place as shown.
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
初始化的的onCreate()
:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
我会AP preciate任何建议,解决这一点。谢谢你。
I would appreciate any suggestions as to resolving this. Thank you.
我有同样的问题,我唯一发现,解决它通过让别的东西比工具栏等
的 AppBarLayout
里面。我把一种无形的观点在我的工具栏下的布局。不是最理想的解决方案,但它的工作。
I was having this same issue and the only thing I found that solved it was by having something else other than the toolbar
inside the AppBarLayout
. I placed an invisible view in my layout underneath the toolbar. Not the most ideal solution, but it worked.
<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>