我正在尝试使Android活动流到通知区域,如下所示。 I have a solution,但是我不喜欢它,因为它是纯魔术-我不知道为什么它起作用,它确实起作用。在下面的代码示例中,我有一个CoordinatorLayout持有一个AppBarLayout持有一个CollapsingToolbarLayout。如果以任何方式删除或更改其中任何一项,效果将不再起作用。底部的LinearLayout包含我要使用的实际代码布局信息。

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    >
    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        >
        <android.support.design.widget.CollapsingToolbarLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            />
    </android.support.design.widget.AppBarLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        >
        <ImageView
            android:id="@+id/backdrop"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scaleType="centerCrop"
            />
    </LinearLayout>
</android.support.design.widget.CoordinatorLayout>


android - 如何使Android Activity 出现在通知区域的后面-LMLPHP

最佳答案

您可以设置SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN标志:

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);


然后,您在布局中唯一需要的就是ImageView。不需要fitsSystemWindows

<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/backdrop"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="centerCrop"
        />

07-27 15:22