Phonegap - заставка для Android-приложения

Может кто-нибудь, пожалуйста, сообщите, как я могу добавить заставку в мое Android-приложение на основе HTML5 Phonegap. Я просто хочу, чтобы он отображался в течение 5 секунд при загрузке. Также - может кто-нибудь сообщить, какие размеры должен быть заставки.

Ответ 1

Чтобы иметь заставку в приложении Android PhoneGap, вам нужно поместить ваш файл splash.png в res/drawable-ldpi, res/drawable-mdpi, res/drawable-hdpi, res/drawable-xhdpi. Если эти каталоги представляют собой низкие, средние, высокие и дополнительные большие точки на дюйм. Вам нужно будет изменить размер splash.png(имя файла важно здесь) для каждого каталога, или Android расширит его для вас.

Размеры каждого изображения должны быть:

  • xlarge (xhdpi): не менее 960 x 720
  • large (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. Основное приложение теперь загружается, пока отображается экран заставки. Это большое улучшение по сравнению с предыдущим блокирующим зазором экрана. Подробнее об изменениях в моем блоге.

Ответ 3

В моем приложении Phonegap, версии Android, отладчик Eclipse выкидывает истерики, если вы устанавливаете заставку или даже диалоговое окно "загрузка" перед вызовом loadUrl.

Оба будут работать в реальном приложении, установленном на устройстве, но они сломают вашу отладку. Поэтому я поставил их за 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

Я тоже сталкиваюсь с этой проблемой в телефоне 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.

Измените основной файл java в папке src в каталоге проекта.

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

Ответ 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" />

Существует также выделенный плагин, чтобы программно отображать/скрывать заставку.

Дополнительную информацию см. в документации Кордовы.