Подтвердить что ты не робот

Angular Анимация и Phonegap не работают на мобильных устройствах

Я добавил несколько анимаций ng-view (angular v 1.1.5) в приложение phonegap. Они отлично работают в браузере при тестировании как с использованием пульсации, так и при указании браузера мобильного телефона (в этом случае на Android-хром), но при установке с помощью телефонного разговора анимация не запускается. Я не уверен, что проблема связана с телефонной связью или с angular. Сначала я думал, что это просто анимация слишком быстро, поэтому я замедлил их до 1,5 с, но ничего не изменил в приложении.

Является ли это проблемой разрыва в телефоне, проблемой angular и/или как мы можем их использовать?

Определенная CSS анимация:

.view-enter, .view-leave {
  -webkit-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s;
  -moz-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s;
  -o-transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s;
  transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s;
}

.view-enter {
  opacity:0;

}
.view-enter.view-enter-active {

  opacity:1;
}

.view-leave {

  opacity:1;
}
.view-leave.view-leave-active {
  left:-100px;
  opacity:0;
}

Опять же, они отлично работают в браузере телефона, только когда он находится в приложении phonegap. Использование Adobe build для создания приложения. Я также получаю css и показываю на странице только для подтверждения того, что фактический файл css включен в сборку phonegap (он есть).

По одному из комментариев пользователя, вот HTML. Остальное обрабатывается angular анимациями по умолчанию. Они отлично работают при запуске в браузере, но не при запуске в телефонной заторе. Маршрутизация работает, ng-view изменен, но анимация никогда не возникает.

   <div class="container-fluid" id="viewer" ng-view ng-animate="{enter: 'view-enter', leave: 'view-leave'}" >


     </div>

Протестировано на Nexus 4.

4b9b3361

Ответ 1

Это определенно проблема с браузером Android 4.2. Первый ключ заключается в том, что он отлично работает на рабочем столе и в Chrome, но не в Phonegap. InAppBrowser использует браузер Android для Android.

Поддержка анимаций (и HTML5 в целом) была довольно ужасной в Android 4.2. Здесь удобное изложение этих причуд.

Надеюсь, вам удастся обновить версию Android с июня!

Ответ 2

Вы можете посмотреть CocoonJS (работает с Кордорой) или Crosswalk в качестве путей для ускорения всех способов замедления работы браузера при развертывании на более ранних версиях Android.