phonegap - 适用于Android应用的启动画面

时间:2011-11-16 18:36:57

标签: android eclipse cordova

有人可以建议我如何为基于HTML5 Phonegap的Android应用添加启动画面。我只是希望它在加载时显示5秒钟。此外 - 任何人都可以告知闪屏应该是什么尺寸。

6 个答案:

答案 0 :(得分:176)

要在PhoneGap Android应用中设置启动画面,您需要将splash.png文件放入res/drawable-ldpires/drawable-mdpires/drawable-hdpires/drawable-xhdpi 。这些目录代表每英寸低,中,高和超大点。您需要为每个目录调整splash.png(文件名在这里很重要)的大小,否则Android会为您拉伸它。

每张图片的尺寸应为:

  • xlarge(xhdpi):至少960 x 720
  • 大(hdpi):至少640 x 480
  • medium(mdpi):至少470 x 320
  • small(ldpi):至少426 x 320

然后在你的主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.

请在项目目录的src文件夹下编辑主java文件。

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设置,图像和启动画面。

我建议下载文件并手动安装。基于网络的空中安装程序似乎无法正常工作。

http://aj-software.com/configap/index.html

答案 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