15

我有一个 phonegap 3.0.0 应用程序。我的应用程序涵盖了状态栏(带有时钟、接收信息等的东西)。由于我不是全屏游戏,因此不可取。

我相信它作为“全屏”应用程序运行。

我发现堆栈上的帖子做相反的事情(即让应用程序全屏显示)并做了与建议相反的事情。我想知道 PhoneGap 或者我用来创建项目的 PhoneGap CLI 是否发生了变化,因为我的应用程序正在全屏显示。

我试过这个:

  public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);

        super.setIntegerProperty("splashscreen", R.drawable.splash);

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

        super.loadUrl(Config.getStartUrl(), 10000);
    }

这明确告诉它不要处于全屏模式......但它仍然显示全屏。

4

4 回答 4

39

The native code suggested above will work, but a cleaner way would be just to make sure you don't have in the config.xml:

<preference name="fullscreen" value="true" />

you can also set it to "false", but its actually the default value so its not necessary. works for me.

于 2013-09-25T12:51:31.337 回答
19

我想到了。

Splashscreen 插件必须将其设置为全屏。通过调用clearFlagsAFTER 方法super.loadUrl,一旦应用程序加载,状态栏就会出现。

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    super.setIntegerProperty("splashscreen", R.drawable.splash);
    super.loadUrl(Config.getStartUrl(), 10000);

    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
于 2013-08-14T17:24:08.040 回答
2

在 Eclipse 上的 res/xml/config.xml 中进行此更改。

<preference
    name="fullscreen"
    value="false" />
于 2014-10-31T04:52:31.690 回答
1
// Hide status bar
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
// Show status bar
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

默认行为不应该是全屏,你有没有在 xml 中修改过你的主题?

我发现了一些其他代码,以防万一:

private void toggleFullscreen(boolean fullscreen)
{
    WindowManager.LayoutParams attrs = getWindow().getAttributes();
    if (fullscreen)
    {
        attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;
    }
    else
    {
        attrs.flags &= ~WindowManager.LayoutParams.FLAG_FULLSCREEN;
    }
    getWindow().setAttributes(attrs);
}
于 2013-08-14T17:09:50.013 回答