phonegap - екран заставки для програми для Android


84

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


2
Просто дружня порада, ні в якому разі не є гарною ідеєю розміщувати заставку на мобільному додатку. Це розлютить ваших користувачів.
Куртіс Нусбаум,

37
Мені шкода Куртісу, я не впевнений у тому, що ви захищаєте. Є багато дуже популярних мобільних додатків, які показують заставку під час завантаження, не викликаючи роздратування у своїх користувачів. У iOS навіть є зображення, спричинене Default.png спеціально для цієї мети.
Devgeeks

6
@Devgeeks Я погоджуюсь з Куртісом Нусбаумом у тому випадку, коли ви показуєте заставку для цього. Якщо запуск програми триває довгий час, заставний екран із індикатором активності, ймовірно, кращий, ніж ніщо, що може бути імовірною причиною популярних програм, про які ви говорите. В іншому випадку існує рівна (або навіть більша) кількість популярних мобільних додатків, які не відображають заставку. В основному приверніть користувача до програми якомога швидше. 5-секундний заставний екран кожного разу - це погана ідея, оскільки це довго розчарує користувачів.
Kinjal Dixit

1
Будь ласка ... не роби цього! Splashscreen - це не гарна ідея :) Правильно, у деяких популярних додатках він є, але це не означає, що це гарна ідея;)
Штепан Вітечек

1
Я думаю, що екрани-заставки - це питання смаку / дизайну. Звичайно, більшість користувачів UX дадуть поради не використовувати, але я з ними не згоден; 1-секундний заставний екран не завдасть шкоди, натомість додасть "особистість" і встановить "тему" для вашого додатку, виділяючи серед тисяч "завантажувальних" додатків. На моєму пристрої понад 70% щоденних програм, що використовуються, мають
початкові

Відповіді:


176

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

Розміри кожного зображення повинні бути:

  • xlarge (xhdpi): принаймні 960 x 720
  • великий (hdpi): принаймні 640 x 480
  • середній (mdpi): принаймні 470 x 320
  • маленький (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. Основна програма зараз завантажується, поки відображається заставний екран. Це є значним покращенням порівняно з попереднім викликом заставного екрану. Детальніше про зміни читайте в моєму блозі .


1
Привіт!
Танцюрист

2
Здається, виникла проблема з використанням параметра тайм-аут у PhoneGap 1.2. Дивіться також stackoverflow.com/questions/8100219 / ...
Paul Beusterien

1
Якщо видалити 5 - секундний таймаут додаток компілюється і відображає коротку інформацію про завантаження - так це виглядає як поєднання вище , з тайм - ауту виправити буде працювати ласощі .. ура допомогу
Dancer

6
Вимагати від користувача зачекати 5 секунд - це жахлива порада.
grahamparks

1
@BallisticPugh Ви хочете використовувати 9-патч-зображення, щоб ви могли контролювати, що розтягується.
Саймон Макдональд,


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

3

Я також стикався з цією проблемою у фонегапі андроїд .. але тепер я отримав рішення.

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

1
Зазвичай його можна знайти:platforms/android/src/com/[your app name]/[Your App Name.java
Ян Джеймісон

Я не знайшов жодного файлу .java у згаданому шляху
Prak,

0

Це, мабуть, задовольнить ваші потреби. Це дозволяє налаштувати та додати всі відповідні налаштування config.xml, зображення та заставки в приємний інтуїтивно зрозумілий інтерфейс.

Я рекомендую завантажити файл і встановити вручну. Інтернет-установник повітря, здається, не працює.

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


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" />

Існує також спеціальний плагін для програмного показу / приховування заставки.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.