我在一个PhoneGap应用程序中添加了一些ng-view动画(使用angular v 1.1.5)。在浏览器中使用ripple测试时以及将手机浏览器指向在线应用程序时,它们的效果非常好。但是,在使用PhoneGap安装后,这些动画不会运行。我不确定问题是出在PhoneGap还是Angular上。起初,我认为只是动画速度太快,所以我将其减缓到1.5秒,但在应用程序中没有任何改变。
这是一个PhoneGap问题、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的默认动画处理。当在浏览器中运行时,它们运行良好,但在PhoneGap中运行时则无效。路由正常工作,ng-view已更改,但动画从未发生。
<div class="container-fluid" id="viewer" ng-view ng-animate="{enter: 'view-enter', leave: 'view-leave'}" >
</div>
在 Nexus 4 上进行测试。
ng-animate
特定的问题,因为当我在代码中设置ng-class时,动画在Android上可以正常工作。 - marcoseu