状态栏后面的布局 - Android Lollipop

Posted

技术标签:

【中文标题】状态栏后面的布局 - Android Lollipop【英文标题】:Layout behind status bar - Android Lollipop 【发布时间】:2015-05-10 20:04:54 【问题描述】:

我希望在我的应用程序中能够实现这种效果:

状态栏是半透明的,布局在状态栏的后面。我读过的关于该主题的每个示例都主要与导航抽屉相关联,并且主要使用 ScrimInsetScrollView(或 ScrimInsetsFrameLayout)。我尝试使用 ScrimInsetsFrameLayout 来实现它。

基本上我有一个包含片段的活动,这是我的布局(片段稍后在活动的 onCreate 方法中添加到容器中):

 <FrameLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_
    android:orientation="vertical"
    android:fitsSystemWindows="true"
    >

    <com.test.app.widget.ScrimInsetsFrameLayout
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_
        android:layout_
        android:fitsSystemWindows="true"
        app:insetForeground="#4000"
        android:id="@+id/container"
        ></com.test.app.widget.ScrimInsetsFrameLayout>

     </FrameLayout>

而且我还在主题中将 android:statusBarColor 设置为透明。 该解决方案对我不起作用。显然我在这里做错了什么。 有人能指出我错在哪里吗?

【问题讨论】:

现在,使用新设计支持库 (v23) 中的组件可以轻松实现此效果 【参考方案1】:

你试过了吗

@Override
public void onCreate(Bundle savedInstanceState) 
    getWindow().requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY);

如Android documentation中所述

【讨论】:

不,但我没有在我的活动中使用操作栏。我正在使用工具栏,但在我合并的片段中。我刚才试过了,因为你建议,我没有得到想要的效果。

以上是关于状态栏后面的布局 - Android Lollipop的主要内容,如果未能解决你的问题,请参考以下文章

半透明状态栏使布局越界(显示后面的视图)

在 Android 中将状态栏填充设置为 NavigationView

android中状态栏怎么布局

怎么修改android状态栏布局

Android Draw 在状态栏后面但不在导航栏后面

Android状态栏与布局重叠解决方案