我有一个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);
}
明确告诉它不要处于全屏模式......但它仍然会全屏显示。
答案 0 :(得分:39)
上面建议的本机代码可以使用,但更简洁的方法就是确保不在config.xml中:
<preference name="fullscreen" value="true" />
你也可以将它设置为“false”,但它实际上是默认值,所以它不是必需的。适合我。
答案 1 :(得分:19)
我明白了。
Splashscreen插件必须将其设置为全屏。
通过在clearFlags
之后调用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);
}
答案 2 :(得分:2)
在eclipse上的res / xml / config.xml中进行此更改。
<preference
name="fullscreen"
value="false" />
答案 3 :(得分: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);
}