离子闪屏隐藏而不褪色

时间:2015-05-28 19:43:03

标签: cordova ionic-framework ionic splash-screen cordova-plugins

开始我的第一个离子项目。

我对启动画面没有任何问题 - 我能够使用CordovaSplashscreen插件并告诉它隐藏()当相关的承诺解决时;我还能够注释掉隐藏的内容,而只是依赖于在config.xml中的AutoHideSplashScreen,并且在SplashScreenDelay之后让启动画面自动隐藏。

(我列出了这些工作,因此很明显我的问题不是几十个与Ionic和Cordova / PhoneGap相关的闪屏问题的重复。 )

我的问题是无论我尝试什么 - ios,android,模拟器,真实设备,使用CordovaSplashscreen隐藏()与否,AutoHideSplashScreen设置为true,AutoHideSplashScreen设置为false等等 - 我可以&#39 ;当消失时,启动屏幕会 淡出

无论config.xml设置,splash screen hide()调用或不调用,仿真或设备,ios或我使用的是什么组合,FadeSplashScreen似乎都没有任何效果。

我当前的config.xml设置,虽然这并没有完整描述我尝试过的十几种这些值的排列:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<widget id="com.ionicframework.yourkids381244" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
... other code at same level of hierarchy omitted ... 
  <preference name="SplashScreen" value="screen"/>
  <preference name="AutoHideSplashScreen" value="false"/>
  <preference name="auto-hide-splash-screen" value="false"/>
  <preference name="ShowSplashScreenSpinner" value="false"/>
  <preference name="SplashScreenDelay" value="10000"/>
  <preference name="FadeSplashScreen" value="true"/>
  <preference name="FadeSplashScreenDuration" value="3.0"/>
... other code at same level of hierarchy omitted ... 
</widget>

我的app.js路由中的代码执行hide(),但是,这似乎不是问题的一部分;它工作,我通过注释hide()行并将AutoHideSplashScreen设置为false来确认,这成功地导致启动屏幕永远不会隐藏;但是从那个状态开始,我无法隐藏以淡出启动画面,无论是通过取消注释hide()行来隐藏以使用CordovaSplashscreen,还是将AutoHideSplashScreen设置为true。

  .state('app.main', {
    url: "/main",
    views: {
      'menuContent': {
        templateUrl: "templates/main.html",
        controller: ['$scope', '$timeout', '$ionicGesture',
        function($scope, $timeout, $ionicGesture) {
          $scope.$on('$ionicView.loaded', function() {
            ionic.Platform.ready( function() {
              $timeout(function() {
                if(navigator && navigator.splashscreen) {
                  // note that this works fine, except for the fading
                  navigator.splashscreen.hide();    
                }
              }, 500);
            });
          });
        }],
      }
    }
  })

(期待有关此事的评论不涉及承诺的解决,在其他地方完成,然后app.main被提出......重点是,隐藏这种方式确实有效,它只是没有&#39; t 淡出

有什么想法可以尝试吗?

2 个答案:

答案 0 :(得分:1)

尝试删除config.xml中包含splashcreen值的所有首选项。这是我完整的config.xml首选项列表:

<preference name="webviewbounce" value="false"/>
<preference name="UIWebViewBounce" value="false"/>
<preference name="DisallowOverscroll" value="true"/>
<preference name="BackupWebStorage" value="none"/>

删除这些闪屏画面线会导致重置默认设置。所以闪屏应该褪色。

答案 1 :(得分:1)

它似乎是启动屏幕Cordova插件的错误,似乎已经解决:https://issues.apache.org/jira/browse/CB-8875