如何使布局全屏?
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 中的图像视图也位于状态栏下方。这正是我想要的。
你好 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 中的图像视图也位于状态栏下方。这正是我想要的。