Java Android状态栏不会保持隐藏状态

时间:2015-08-09 13:25:33

标签: java android styles manifest statusbar

问题是:

我可以隐藏Android设备的状态栏,但它不会隐藏。每当我使用弹出窗口(AlertDialog)或EditText输入字段时,状态栏会弹回并且不会再消失。

以下是manifest.xml中的代码:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.skipbo"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="17"
    android:targetSdkVersion="21" />

<uses-permission android:name="android.permission.INTERNET" >
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >
</uses-permission>

<application
    android:allowBackup="true"
    android:debuggable="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen" >
    <activity
        android:name="com.skipbo.menus.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />
</application>

我有一些代码可以在主要活动中启用沉浸式模式:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
    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
                    | View.SYSTEM_UI_FLAG_FULLSCREEN
                    | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);

一些额外的信息:该应用程序是一个在一个Activity中运行的游戏。我之前遇到过这个问题,但后来我修好了。一段时间后(我想我已经在清单中改变了一些东西)它不再起作用了。当我使用它时,EditText是透明的,但现在它是白色的。

我希望这是足够的信息。

问候Boschma

1 个答案:

答案 0 :(得分:2)

试试这一行,

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);