【发布时间】:2018-11-14 23:59:22
【问题描述】:
https://github.com/antoniolg/MaterializeYourApp
我基本上按照上面链接中的代码,但我仍然无法在折叠的工具栏图像视图上方制作状态栏。
我发现可行的一件事是将<item name="android:windowTranslucentStatus">true</item> 放入样式中。但这会使工具栏和状态栏重叠。
CollapsedToolbarImageExpandedToolbarImage
基本上,我希望第一张图片中的状态栏与第二张图片一样。而且我猜状态栏已经是半透明的。这是我在风格中加入的部分内容。
<item name="android:windowIsTranslucent">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
另一个问题是我以编程方式设置了折叠的标题文本,但它也没有显示出来。
我也尝试过一些 fitSystemWindow="true" 但它仍然不起作用。下面是xml文件。
<?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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".ScrollingActivity">
<android.support.design.widget.AppBarLayout
android:id="@+id/up_app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/up_ctoolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="false"
app:collapsedTitleGravity="center"
app:contentScrim="@android:color/transparent"
app:expandedTitleGravity="center"
app:layout_behavior="@string/title_activity_scrolling"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:titleEnabled="true"
app:toolbarId="@+id/up_toolbar">
<ImageView
android:id="@+id/header"
android:layout_width="match_parent"
android:layout_height="@dimen/header_height"
android:background="@drawable/nav_background"
android:fitsSystemWindows="true"
android:scaleType="centerCrop"
app:layout_collapseMode="parallax" />
<android.support.v7.widget.Toolbar
android:id="@+id/up_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:contentInsetStart="0dp"
app:layout_collapseMode="pin">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageButton
android:id="@+id/up_back"
android:layout_width="60dp"
android:layout_height="60dp"
android:background="@android:color/transparent"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_back_white" />
<ImageButton
android:id="@+id/up_search"
android:layout_width="60dp"
android:layout_height="60dp"
android:background="@android:color/transparent"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_search_white" />
</android.support.constraint.ConstraintLayout>
</android.support.v7.widget.Toolbar>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<include layout="@layout/user_profile_content"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
【问题讨论】:
-
尝试将
<item name="android:windowTranslucentNavigation">true</item>添加到您的应用主题中。 -
@KaranMer 很遗憾不起作用。
-
你想只设置状态栏透明还是工具栏和状态栏都透明?
-
我认为状态已经是透明的,但它只是不在图像视图之上。
-
你可以在你的父协调器布局中设置
fitsSystemWindows="false"并尝试一下。
标签: android android-toolbar android-coordinatorlayout android-collapsingtoolbarlayout android-statusbar