Cordova如何讓繼承的Activity正確全屏的方法

使用android常規的全屏操作都不能正常讓Activity全屏,着實讓人納悶,最後看了看CordovaActivity源碼,發現onCreate()方法中其實預留了設置全屏的代碼:

        if (!preferences.getBoolean("ShowTitle", false)) {
            getWindow().requestFeature(Window.FEATURE_NO_TITLE);
        }

        if (preferences.getBoolean("SetFullscreen", false)) {
            LOG.d(TAG, "The SetFullscreen configuration is deprecated in favor of Fullscreen, and will be removed in a future version.");
            preferences.set("Fullscreen", true);
        }
        if (preferences.getBoolean("Fullscreen", false)) {
            // NOTE: use the FullscreenNotImmersive configuration key to set the activity in a REAL full screen
            // (as was the case in previous cordova versions)
            if (!preferences.getBoolean("FullscreenNotImmersive", false)) {
                immersiveMode = true;
            } else {
                getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                        WindowManager.LayoutParams.FLAG_FULLSCREEN);
            }
        } else {
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN,
                    WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
        }

從這部分代碼可以看出Cordova其實是支持設置是否全屏的,於是我們找到Config.xml,添加以下配置:

    <preference name="ShowTitle" value="true" />
    <preference name="SetFullscreen" value="true" />
    <preference name="Fullscreen" value="true" />

重新啓動,此時界面正常全屏了…

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章