Может кто-нибудь, пожалуйста, сообщите, как я могу добавить заставку в мое Android-приложение на основе HTML5 Phonegap. Я просто хочу, чтобы он отображался в течение 5 секунд при загрузке. Также - может кто-нибудь сообщить, какие размеры должен быть заставки.
Phonegap - заставка для Android-приложения
Ответ 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. Основное приложение теперь загружается, пока отображается экран заставки. Это большое улучшение по сравнению с предыдущим блокирующим зазором экрана. Подробнее об изменениях в моем блоге.
Ответ 2
В телефонной документации (Apache Cordova) имеется достаточно информации о заставке и разных разрешениях для Android и iOS в одном месте.
http://docs.phonegap.com/en/2.2.0/cordova_splashscreen_splashscreen.md.html
Ответ 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, изображения и всплывающие окна в приятный интуитивно понятный интерфейс.
Я рекомендую загрузить файл и установить его вручную. Веб-установщик не работает.
Ответ 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" />
Существует также выделенный плагин, чтобы программно отображать/скрывать заставку.
Дополнительную информацию см. в документации Кордовы.