cordova Phonegap -为Android应用程序添加闪屏

xpszyzbs  于 2022-11-15  发布在  Android
关注(0)|答案(6)|浏览(169)

有人能告诉我如何添加一个闪屏到我的HTML5 Phonegap的Android应用程序。我只是想让它显示5秒的加载。还有-有人能告诉我什么尺寸的闪屏应该。

mzmfm0qo

mzmfm0qo1#

为了在PhoneGap Android应用程序中有一个闪屏,你需要把你的splash.png文件放入res/drawable-ldpires/drawable-mdpires/drawable-hdpires/drawable-xhdpi。这些目录代表每英寸低,中,高和超大点。你需要为每个目录调整你的splash.png(文件名在这里很重要),否则Android会为你拉伸它。
每个图像的大小应为:

  • 超大(xhdpi):至少960 x 720
  • 大(hdpi):至少640 x 480
  • 中等(mdpi):至少470 x 320
  • 小(ldpi):至少426 x 320

然后在主Java类(扩展DroidGap的Java类)中,需要添加一行代码并修改另一行代码。

super.setIntegerProperty("splashscreen", R.drawable.splash);

这一行应该出现在super.onCreate之下,super.loadUrl之前。然后你需要修改loadUrl方法,在加载主页之前暂停5秒。它看起来像这样:

super.loadUrl("file:///android_asset/www/index.html", 5000);

这应该够了。
我最近对PhoneGap Android上的闪屏的工作方式做了一些更新。现在,主应用程序在显示闪屏的同时加载。这比之前阻止闪屏调用Read more about the changes on my blog有了很大的改进。

nzk0hqpo

nzk0hqpo2#

Phonegap(Apache Cordova)文档在一个地方有足够的关于闪屏的细节,以及Android和iOS的不同分辨率。
http://docs.phonegap.com/en/2.2.0/cordova_splashscreen_splashscreen.md.html

eeq64g8w

eeq64g8w3#

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

6qfn3psc4#

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

yi0zb3m45#

使用Cordova〉= 3.6,并使用Cordova命令行界面构建应用,可以通过config.xml文件配置启动屏幕。

<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文档。

t9eec4r0

t9eec4r06#

这可能会满足你的需要。它允许你在一个漂亮的直观界面中定制和添加所有相关的config.xml设置、图像和闪屏。
我建议下载文件并手动安装。基于网络的空气安装程序似乎不工作。
https://aj-software.com/apps/configap.html

相关问题