我目前正在尝试使用协调器布局来折叠图像 - 在具有透明状态栏的主题中 - 但是三个问题困扰着我:
- 当 Activity 启动时,图像不会显示在状态栏后面(如果我删除 coordinatorlayout,它会工作);
- 当我向上滚动时,我想将状态栏更改为纯色,但仍然显示了一部分图像;
- 添加 AppBarLayout 和 CollapsingToolbarLayout 后,图像的底部 - 与状态栏的高度相同 - 被剪切;
代码:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorPrimary"
android:orientation="vertical">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
app:layout_scrollFlags="scroll|enterAlways|enterAlwaysCollapsed"
app:statusBarScrim="@color/colorPrimary"
app:contentScrim="@color/colorPrimaryDark">
<RelativeLayout
android:id="@+id/cover_wrapper"
android:layout_width="match_parent"
android:layout_height="@dimen/rsc_character_details_cover_height">
<ImageView
android:id="@+id/cover"
android:layout_width="match_parent" android:layout_height="@dimen/rsc_character_details_cover_height"/>
</RelativeLayout>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/cover_wrapper"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="6">
...
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
这就是我设置状态栏透明度的方式:
<item name="android:windowTranslucentStatus">true</item>
任何帮助将不胜感激。 非常感谢。
最佳答案
对于状态栏后方图片不显示和被截断的问题,凡是应该显示在状态栏区域的都应该有android:fitsSystemWindows="true"
。 IE。你的 cover_wrapper
和 cover
。
关于android - 协调器布局和透明状态栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36961655/