如何使布局全屏?

How to make a layout fullscreen?

你好 Whosebugers。

我有这样的布局:

 <androidx.drawerlayout.widget.DrawerLayout
        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:id="@+id/drawerLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/background"
        android:fitsSystemWindows="true"
        tools:context=".MainActivity">

        <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            >
......
    >

看起来像这样:

我只是将原色alpha设置为00,状态栏没有颜色。我喜欢的是它全屏显示并位于状态栏下方。

我做了另一个 activity,但它是一个 ConstraintLayout,而不是上面例子中的 DrawerLayout。我还设置了android:fitsSystemWindows="true"。但它不会全屏显示。

代码如下:

  <androidx.constraintlayout.widget.ConstraintLayout
        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:id="@+id/splashScreenLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        tools:context=".SplashScreen">

     <ImageView>
.......
    <>

这是结果:

我也可以使用 DrawerLayout 来实现这种效果,但我不需要那个 activity 中的抽屉。 有更专业的方法吗?

尝试在 onCreate 中使用它 Activity

if (Build.VERSION.SDK_INT < 16) {
    window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                    WindowManager.LayoutParams.FLAG_FULLSCREEN)
}
setContentView(R.layout.activity_main)

我找到了答案。 我必须设置 android:fitsSystemWindows="false" 并将此函数添加到 may activity 并在创建时调用它:

  private fun showSystemUI() {
        window.decorView.systemUiVisibility = (View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN)
    }

甚至我 activity 中的图像视图也位于状态栏下方。这正是我想要的。