如何实现CollapsingToolbarLayout滚动后完全隐藏无多余空白?
修复步骤
- 给你include的
scroll_content布局添加滚动绑定属性,当前没有配置AppBarLayout的联动behavior,会导致滚动时内容偏移计算错误出现空白:
<include layout="@layout/scroll_content" app:layout_behavior="@string/appbar_scrolling_view_behavior" />
- 移除冗余的
fitsSystemWindows属性,多层级重复添加该属性会导致高度计算异常,本次场景可直接删掉CoordinatorLayout、AppBarLayout、CollapsingToolbarLayout、HorizontalScrollView上的所有android:fitsSystemWindows="true"配置。 - 给CollapsingToolbarLayout明确折叠后的高度,和底部固定的Toolbar高度一致,避免折叠后留多余空隙:
<com.google.android.material.appbar.CollapsingToolbarLayout android:id="@+id/toolbar_layout" android:layout_width="match_parent" android:layout_height="match_parent" app:contentScrim="?attr/colorPrimary" app:layout_collapseMode="parallax" app:layout_scrollFlags="scroll|exitUntilCollapsed|snap" app:collapsedHeight="?attr/actionBarSize" >
- 调整HorizontalScrollView的布局参数,避免内容覆盖底部Toolbar,同时宽度适配父布局:
<HorizontalScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginBottom="?attr/actionBarSize" app:layout_collapseMode="parallax" >
- 给CoordinatorLayout或AppBarLayout设置和页面主体一致的背景色,避免透明背景露出系统窗口的黑色底色。
内容的提问来源于stack exchange,提问作者noname noname
相关产品推荐
相关产品推荐

