我正在尝试使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>
最佳答案
您可以设置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"
/>