2016-07-27 2 views
3

У меня есть приложение на Cordova (6.2) и установите его на Android-устройство (Android v6.0). Чтобы изменить значок приложения, я заменяю значок в /platforms/android/res/drawable-hdpi, и он отлично работает. Но когда я добавляюЗаставка на Android не работает

<platform name="android"> 
    <preference name="SplashScreen" value="screen"/> 
    <preference name="SplashScreenDelay" value="1000" /> 
</platform> 

в config.xml и перекомпилировать приложение - заставка не показывалась.

Как исправить эту проблему? (Все экраны по умолчанию присутствуют в папках и они имена screen.png)

+0

вы прошли через https://github.com/apache/cordova-plugin-splashscreen ?? – Naitik

+0

@Naitik Да, плагин plugb плагина отлично работает. Но, как и в кордовой документации, это не требуется, и у cordova есть встроенный заставку (работа без проблем в iOS). Мой вопрос об этом встроенном заставке, который не работает на Android. – Evgeniy

+0

в официальном документе cordova также отметил, что https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-splashscreen/index.html, вам нужно использовать плагин и создать заставку с заданным размером. – Naitik

ответ

3

в первую очередь установить плагин для экрана заставки с помощью следующей команды:

Cordova плагин добавить Cordova-плагин-SplashScreen

затем в config.xml копию следующим образом:

для Android:

<platform name="android"> 

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

Для IOS:

<platform name="ios"> 
    <splash src="res/screen/ios/Default~iphone.png" width="320" height="480"/> 
    <splash src="res/screen/ios/[email protected]~iphone.png" width="640" height="960"/> 
    <splash src="res/screen/ios/Default-Portrait~ipad.png" width="768" height="1024"/> 
    <splash src="res/screen/ios/[email protected]~ipad.png" width="1536" height="2048"/> 
    <splash src="res/screen/ios/Default-Landscape~ipad.png" width="1024" height="768"/> 
    <splash src="res/screen/ios/[email protected]~ipad.png" width="2048" height="1536"/> 
    <splash src="res/screen/ios/[email protected]~iphone.png" width="640" height="1136"/> 
    <splash src="res/screen/ios/Default-667h.png" width="750" height="1334"/> 
    <splash src="res/screen/ios/Default-736h.png" width="1242" height="2208"/> 
    <splash src="res/screen/ios/Default-Landscape-736h.png" width="2208" height="1242"/> 
</platform> 

теперь сделал заставка с выше размера. вы можете сделать со многими способами:

1) http://ionicframework.com/docs/cli/icon-splashscreen.html

2) http://ticons.fokkezb.nl/

сейчас ставят все сгенерированные файлы в папке res/screen/{platform} и двойной проверки с помощью записи с config.xml

теперь снова перейти к config.xml и добавьте следующее:

<preference name="AutoHideSplashScreen" value="true" /> 
<preference name="SplashScreenDelay" value="3000" /> 

вышеуказанные метки скрыть заставку после 3 seconds.

Пинг меня, если вы все еще сталкиваетесь с проблемой.

Надеюсь, это поможет.

+0

Я уже устанавливаю плагин с расширением экрана и отлично работает на Android. Но я заинтересован в том, почему в заставке iOS работает без установки cordova-plugin-splashscreen, а в Android нет. – Evgeniy

+0

в android будет работать, но тогда вам нужно сделать java-активность. В IOS то, что будет Lunch image, которое установлено в активах для ios и ** XCODE **, заставляет заставки за сценой с родной IOS. в android есть выпадающая папка, в которой хранится весь экран заставки, который андроид сделал изнутри с помощью плагина заставки. Сейчас это белый или пустой. поэтому лучше вносите изменения, как я упоминал в ответ, и делаю работу. – Naitik

+0

Благодарим за сообщение – Evgeniy

0
public class SplashScreen extends Activity { 
    private static int SPLASH_TIME_OUT = 3000; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.splashscreen); 

     new Handler().postDelayed(new Runnable() { 
      @Override 
      public void run() { 
       Intent i = new Intent(SplashScreen.this,GetStartedScreen.class); 
       startActivity(i); 
       finish(); 
      } 
     }, SPLASH_TIME_OUT); 
    } 
} 
+0

SPLASH_TIME_OUT переменная, которую вы хотите добавить, в какое время в milisecond. – Nirmit

+0

Где я могу разместить этот код? – Evgeniy

+0

в вашей активности экрана splase – Nirmit

0

Заставка не появится После того, как я обновил свой CLI до 6.5.0, а «Старая версия» плагина не поддерживает последнюю версию One. так что я удалил Старшая (Кордова-плагин-заставка экрана 3.2.2 "Заставка") и добавил послдний()

Извлечение Plugin Использование:

cordova plugin remove cordova-plugin-splashscreen

Чтобы добавить плагин Использование:

cordova plugin addcordova-plugin-splashscreen 
Смежные вопросы