在android全屏模式下使用所有空间

时间:2018-06-03 20:15:08

标签: android android-layout

在android studio中,当我设置全屏模式时,我仍然无法使用屏幕中的所有空间(例如导航栏的空间)。

我该怎么办?

<FrameLayout 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:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black"
tools:context=".Game">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/start_game"
    android:textColor="@color/white" />

第4行和第5行中的匹配父母并不考虑全屏模式。

这就是我全屏的方式:

        getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | SYSTEM_UI_FLAG_FULLSCREEN | SYSTEM_UI_FLAG_HIDE_NAVIGATION);

2 个答案:

答案 0 :(得分:0)

您应该更改AndroidManifest.xml文件中的主题。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.project" >

        <application
                android:allowBackup="true"
                android:icon="@drawable/ic_launcher"
                android:label="@string/app_name"
                android:theme="@style/AppTheme" >
                <activity
                        ...
                        android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen">
                        ...
                </activity>
        </application>

</manifest>

或将@ style / AppTheme更改为全屏模式。

答案 1 :(得分:0)

您可以在java文件中执行此操作:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // remove title
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
        WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.main);
}

您也可以通过AndroidMenifest

来完成
<activity android:name=".ActivityName"
    android:label="@string/app_name"
    android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>