有人可以建议我如何为基于HTML5 Phonegap的Android应用添加启动画面。我只是希望它在加载时显示5秒钟。此外 - 任何人都可以告知闪屏应该是什么尺寸。
答案 0 :(得分:176)
要在PhoneGap Android应用中设置启动画面,您需要将splash.png
文件放入res/drawable-ldpi
,res/drawable-mdpi
,res/drawable-hdpi
,res/drawable-xhdpi
。这些目录代表每英寸低,中,高和超大点。您需要为每个目录调整splash.png(文件名在这里很重要)的大小,否则Android会为您拉伸它。
每张图片的尺寸应为:
然后在你的主Java类中,扩展DroidGap的那个,你需要添加一行并修改另一行。首先添加:
super.setIntegerProperty("splashscreen", R.drawable.splash);
此行应显示在super.onCreate
下但super.loadUrl
之前。然后,在加载主页面之前,您需要修改loadUrl方法以暂停5秒钟。它看起来像这样:
super.loadUrl("file:///android_asset/www/index.html", 5000);
那应该为你做。
我最近对SplashScreen如何在PhoneGap Android上运行进行了一些更新。现在主应用程序在显示启动画面时加载。这比之前的阻止闪屏调用有了很大的改进。 Read more about the changes on my blog
答案 1 :(得分:6)
Phonegap(Apache Cordova)文档在一个地方有足够的关于启动画面和Android和iOS的不同分辨率的详细信息。
http://docs.phonegap.com/en/2.2.0/cordova_splashscreen_splashscreen.md.html
答案 2 :(得分:3)
在我的Phonegap应用程序Android版本中,如果在调用loadUrl之前设置了启动画面甚至是“加载”对话框,那么Eclipse调试器会发出惊喜。
两者都适用于设备上安装的实际应用,但它们会破坏您的调试。所以我把它们放在loadUrl后面,在那里它们没有任何伤害,并且仍然在应用程序本身之前显示出来。
public class App extends DroidGap {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.loadUrl("file:///android_asset/www/index.html",5000);
super.setStringProperty("loadingDialog", "Starting your app...");
super.setIntegerProperty("splashscreen", R.drawable.splash);
...
}...
答案 3 :(得分:3)
我也在phonegap android中面对这个问题..但现在我得到了解决方案。
super.setIntegerProperty("splashscreen", R.drawable.splash);(find image under drawable folder named splash,so put splash.png under drawable folder)
super.loadUrl("file:///android_asset/www/index.html",15000);(splash screen will show 15 sec.
public class radiobiafra extends DroidGap
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
super.setIntegerProperty("splashscreen", R.drawable.splash);
super.loadUrl("file:///android_asset/www/index.html",15000);
}
}
答案 4 :(得分:0)
这可能会满足您的需求。它允许您在一个漂亮的直观界面中自定义和添加所有相关的config.xml设置,图像和启动画面。
我建议下载文件并手动安装。基于网络的空中安装程序似乎无法正常工作。
答案 5 :(得分:0)
使用Cordova> = 3.6,并使用Cordova命令行界面构建应用程序,可以从config.xml
文件配置启动画面。这是Android的一个示例:
<platform name="android">
<!-- you can use any density that exists in the Android project -->
<splash src="res/screen/android/splash-land-hdpi.png" density="land-hdpi"/>
<splash src="res/screen/android/splash-land-ldpi.png" density="land-ldpi"/>
<splash src="res/screen/android/splash-land-mdpi.png" density="land-mdpi"/>
<splash src="res/screen/android/splash-land-xhdpi.png" density="land-xhdpi"/>
<splash src="res/screen/android/splash-port-hdpi.png" density="port-hdpi"/>
<splash src="res/screen/android/splash-port-ldpi.png" density="port-ldpi"/>
<splash src="res/screen/android/splash-port-mdpi.png" density="port-mdpi"/>
<splash src="res/screen/android/splash-port-xhdpi.png" density="port-xhdpi"/>
</platform>
<preference name="SplashScreenDelay" value="10000" />
还有一个dedicated plugin以编程方式显示/隐藏启动画面。
有关详细信息,请参阅Cordova documentation。