以编程方式保持全屏

时间:2014-11-17 08:28:00

标签: java android android-activity

我希望与活动相关联的屏幕为完整尺寸。为此,我使用此代码

    this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    getWindow().getDecorView().setSystemUiVisibility(View.GONE);
    getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);
    if (Build.VERSION.SDK_INT >= 14) {
        getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
    }

    if (Build.VERSION.SDK_INT >= 16) {
        getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
    }

然而,当从触摸屏进行拖动时会出现带状态(电池状态,wifi状态等)的条形图。我特别使用Android 4.2.2版。这一点我试图在下面的图片中显示。enter image description here

如何以编程方式将窗口保持为全屏?

2 个答案:

答案 0 :(得分:0)

很可能是因为您的代码仅在onCreate中执行一次而出现问题。请尝试在manifest中使用此功能:

<application 
    android:icon="@drawable/icon" 
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen">

了解更多信息:

About the Full Screen And No Titlebar from manifest

答案 1 :(得分:0)

方法:1 一种方法是在AndroidManifest.xml文件中使用Theme.Holo.Light.NoActionBar.Fullscreen值。 (使用您在申请中使用的相应主题名称)

<activity android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen">
</activity>

方法2: 另一种方法是,通过活动中的代码执行此操作。在您的活动中,在调用setContentView()函数

之前执行以下操作
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
                            WindowManager.LayoutParams.FLAG_FULLSCREEN);        

setContentView(R.layout.activity_main);