Android中使用沉浸式全屏模式时出现空白区域

7

我使用以下代码来使用沉浸式全屏模式:

getWindow().getDecorView().setSystemUiVisibility(
        View.SYSTEM_UI_FLAG_LAYOUT_STABLE
            | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
            | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
            | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
            | View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
            | View.SYSTEM_UI_FLAG_IMMERSIVE);

但是当我运行我的应用程序时,通知和底部栏显示为空白。我认为我的XML文件有错误。以下是我的XML文件:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#303030"
    tools:context="programsimple.game.FullscreenActivity">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        android:background="#eeeeee">

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@drawable/background"/>

        <Button
            android:layout_width="110dp"
            android:layout_height="70dp"
            android:background="@drawable/button_shape"
            android:layout_centerVertical="true"
            android:id="@+id/btnStartGame"
            android:layout_centerHorizontal="true"
            android:text="شروع"
            android:textSize="25sp"
            android:textColor="#97d2ff"/>

    </RelativeLayout>

</FrameLayout>

它有任何错误吗?

更新:我已经在KitKat上进行了测试。

1个回答

13

白色是由于在RelativeLayout中设置的背景造成的。为了去掉底部的白色条,只需将此标记从RelativeLayout中删除:

  android:fitsSystemWindows="true"

当应用程序创建时,它会添加此填充,并将通用填充添加到布局中,以确保内容不会重叠系统窗口。


我认为这是android:fitsSystemWindows="true",看到fits中的s了吗。 - Rakesh Yadav
@RakeshYadav 谢谢您的纠正,我没有注意到! - Abhi
@Abhi 但是当我移除它并退出全屏模式时,状态栏会与工具栏重叠。 - chikka.anddev
@chikka.anddev,我并不完全理解你的问题。当你退出全屏模式时,顶部状态栏覆盖工具栏不是预期的行为吗?请进一步解释你的问题。 - Abhi
@Abhi 重叠指状态栏覆盖了工具栏的某些部分。 - chikka.anddev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接