我在我的布局中使用了CollapsingToolbarLayout
,在其中我显示了一个图像。我尝试将图像显示到页面顶部,这需要删除状态栏外观。当CollapsingToolbarLayout
展开时,它可以正常工作,如下所示:
但是当我向下滚动CollapsingToolbarLayout
折叠时,状态栏突然出现:
我的布局如下所示:
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<variable
name="show"
type="fr.steph.showmemories.models.ShowModel" />
</data>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<com.google.android.material.appbar.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="@dimen/app_bar_height"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:toolbarId="@id/details_toolbar">
<ImageView
android:id="@+id/details_show_image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:fitsSystemWindows="true"
app:context="@{context}"
app:error="@{@drawable/ic_default_image}"
app:imageUrl="@{show.imageUrl}"
app:layout_collapseMode="parallax"/>
<androidx.appcompat.widget.Toolbar
android:id="@+id/details_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:title="@{show.name}"/>
</com.google.android.material.appbar.CollapsingToolbarLayout>
</com.google.android.material.appbar.AppBarLayout>
<androidx.core.widget.NestedScrollView
android:id="@+id/details_scroll_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/default_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<!-- Page content -->
</androidx.core.widget.NestedScrollView>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout>
我寻找答案,但找不到任何与此问题相关的内容。如何使状态栏在CollapsingToolbarLayout
折叠时保持不可见?
2条答案
按热度按时间avwztpqn1#
要防止在折叠工具栏布局折叠时显示状态栏,可以使用fitsSystemWindows属性,并在CollapsingToolbarLayout元素上将其设置为true。这将使折叠工具栏布局“适合”系统窗口(包括状态栏),并且在折叠工具栏布局折叠时隐藏状态栏。
uklbhaso2#
我终于找到了解决办法!
CollapsingToolbarLayout
的statusBarScrim
属性改变了折叠状态下状态栏的颜色。因此,将其设置为
app:statusBarScrim="@android:color/transparent"
会使其不可见: