有人可以建议我如何在基于HTML5 Phonegap的Android应用中添加启动屏幕。我只希望它在加载时显示5秒钟。另外-任何人都可以建议初始屏幕的尺寸。
有人可以建议我如何在基于HTML5 Phonegap的Android应用中添加启动屏幕。我只希望它在加载时显示5秒钟。另外-任何人都可以建议初始屏幕的尺寸。
Answers:
为了有一个你需要把你的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上的工作方式进行了一些更新。现在,在显示初始屏幕时,将加载主应用程序。与以前的阻止初始屏幕调用相比,这是一个很大的改进。在我的博客上了解有关更改的更多信息。
Phonegap(Apache Cordova)文档在一个地方提供了有关启动屏幕和Android和iOS不同分辨率的足够详细信息。
http://docs.phonegap.com/en/2.2.0/cordova_splashscreen_splashscreen.md.html
在我的Android版Phonegap应用中,如果在调用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);
...
}...
我在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);
}
}
platforms/android/src/com/[your app name]/[Your App Name.java
这可能会满足您的需求。它使您可以在一个漂亮的直观界面中自定义并添加所有相关的config.xml设置,图像和启动画面。
我建议下载文件并手动安装。基于Web的空气安装程序似乎无法正常工作。
使用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" />
还有一个专用插件,可以以编程方式显示/隐藏启动屏幕。
有关更多信息,请参见Cordova文档。