【发布时间】:2012-10-31 13:48:59
【问题描述】:
如何消除 android/phonegap 应用程序启动时的白屏闪烁?它似乎在一瞬间显示了activity_main.xml,我尝试将背景颜色更改为黑色以使其不那么明显。我认为有一种方法可以完全隐藏它?
【问题讨论】:
如何消除 android/phonegap 应用程序启动时的白屏闪烁?它似乎在一瞬间显示了activity_main.xml,我尝试将背景颜色更改为黑色以使其不那么明显。我认为有一种方法可以完全隐藏它?
【问题讨论】:
问题是 WebView 需要首先被实例化,它默认为一个空白的白色页面,然后调用 loadUrl 来加载您的应用程序代码。解决此问题的一种方法是显示启动画面,直到您的应用在后台加载。
【讨论】:
根据您应用的主题,您可以更改此 Flash 背景的颜色,例如:浅色或深色。这样可以将影响降到最低。
【讨论】:
我也遇到了同样的问题。我通过在 init 和 loadUrl 之间设置活动布局背景来解决这个问题。这样,我得到了整个过程的覆盖:在显示启动画面之前,显示启动画面,隐藏启动画面,然后在设备准备好后隐藏我的启动画面。
super.onCreate(savedInstanceState);
super.init();
// set the layout background
root.setBackgroundDrawable(null);
root.setBackgroundResource(R.drawable.splash);
root.setBackgroundColor(Color.parseColor("#ffffffff"));
super.loadUrl(Config.getStartUrl(), 80000);
为了减少代码,我在 config.xml 中设置了启动画面:
<preference name="backgroundColor" value="0xffffffff" />
<preference name="splashscreen" value="splash" />
<preference name="AutoHideSplashScreen" value="false" />
<preference name="auto-hide-splash-screen" value="false" />
这是基于 Cordova 2.8+。 2.7 的启动画面有点怪。
此外,如果您在 iOS 上遇到白屏问题。请参阅此处底部的 iOS 怪癖部分: http://docs.phonegap.com/en/2.8.0/cordova_splashscreen_splashscreen.md.html#Splashscreen
【讨论】: