【问题标题】:Phonegap - add a splash screen for Android appPhonegap - 为 Android 应用添加启动画面
【发布时间】:2011-12-30 16:58:17
【问题描述】:

谁能告诉我如何在我的基于 HTML5 Phonegap 的 Android 应用程序中添加启动画面。我只想让它在加载时显示 5 秒。另外 - 任何人都可以建议启动屏幕应该是什么尺寸。

【问题讨论】:

  • 只是一个友好的建议,在任何情况下在移动应用程序上放置启动屏幕都不是一个好主意。这会让你的用户非常生气。
  • 对不起,Kurtis,我不确定你在提倡什么。有许多非常流行的移动应用程序在加载时会显示启动画面,而不会给用户带来烦恼。 iOS 甚至有一个专门为此目的而导致 Default.png 的图像。
  • @Devgeeks 我同意 Kurtis Nusbaum 的观点,因为您正在显示一个启动画面,这真是太棒了。如果您的应用程序需要很长时间才能启动,那么带有活动指示器的启动屏幕可能总比没有好,这可能是您正在谈论的流行应用程序的可能原因。否则,有相同(甚至更多)数量的流行移动应用程序不显示启动画面。基本上让用户尽可能快地使用应用程序。每次 5 秒的闪屏是个坏主意,因为从长远来看它会让用户感到沮丧。
  • 请...不要这样做! Splashscreen 不是一个好主意 :) 是的,一些流行的应用程序有它,但这并不意味着这是一个好主意 ;)
  • 我认为闪屏是品味/设计的问题。当然,大多数 UX 人会建议不要使用它,但我不同意他们; 1 秒的闪屏不会造成任何伤害,相反,它会为您的应用添加“个性”并设置“主题”,从而在数以千计的“引导式”应用中脱颖而出。在我的设备中,超过 70% 的日常使用的应用程序都有启动画面 :)

标签: android eclipse cordova splash-screen


【解决方案1】:

为了在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
  • 中等 (mdpi):至少 470 x 320
  • 小 (ldpi):至少 426 x 320

然后在扩展 DroidGap 的主 Java 类中,您需要添加一行并修改另一行。先补充:

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.

【讨论】:

  • 嗨,西蒙,我刚刚收到一条错误消息,指出“应用程序在执行上述操作时意外停止?
  • PhoneGap 1.2 中使用 timeout 参数似乎有问题。另请参阅stackoverflow.com/questions/8100219/…
  • 如果我删除了 5 秒超时,应用程序会在加载时编译并短暂显示 - 所以看起来将上述内容与超时修复相结合将是一种享受。为您的帮助喝彩
  • 要求用户等待 5 秒是很糟糕的建议。
  • @BallisticPugh 您想使用 9-patch 图像,这样您就可以控制拉伸的内容。
【解决方案2】:

Phonegap (Apache Cordova) 文档在一处提供了有关启动屏幕和 Android 和 iOS 不同分辨率的足够详细信息。

http://docs.phonegap.com/en/2.2.0/cordova_splashscreen_splashscreen.md.html

【讨论】:

    【解决方案3】:

    在我的 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);
        ...
    }...
    

    【讨论】:

      【解决方案4】:

      我在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);
           }
      }
      

      【讨论】:

      • 这个一般可以找到:platforms/android/src/com/[your app name]/[Your App Name.java
      • 我在上述路径中没有找到任何 .java 文件
      【解决方案5】:

      这可能会满足您的需求。它让您可以在一个漂亮直观的界面中自定义和添加所有相关的 config.xml 设置、图像和闪屏。

      我建议下载文件并手动安装。基于网络的空中安装程序似乎不起作用。

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

      【讨论】:

        【解决方案6】:

        使用 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 了解更多信息。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-01-23
          • 2015-06-05
          • 1970-01-01
          • 2013-04-08
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多