ada*_*ort 63 android android-animation
看起来动画和动画师都允许我在对象上设置属性(位置,不透明度,缩放,旋转等)的动画,而我很难区分两者的用例.我什么时候应该使用动画师而不是动画,反之亦然?
Dee*_*eeV 89
Animations
是旧版本的Animators
.动画师在3.0中引入,以帮助克服动画所带来的一些短缺.
Animations
只更改对象的可视化表示.如果您只是更改不透明度,这很好,但在翻译,旋转或缩放对象时会导致问题.在过去Animators
,如果您翻译了对象,则必须使用新坐标执行重新布局.取决于物体移动的位置可能相当困难.
另一方面,动画制作者会改变对象的物理属性.这意味着如果将视图移动到新位置,触摸坐标将映射到新位置,而无需任何其他干预.
就个人而言,我不再使用Animations了,除非我在API 2.3或更低版本上开发.值得庆幸的是,这已成为一个问题.还有一些旧的类仍然使用Animations API,特别是在使用xml资源时,例如android.support.v4.app.FragmentTransaction
类(普通FragmentTransaction
支持Animators).
作为旁注,NineOldAndroids项目的开发是为了模仿动画师的功能,但使用动画,这样你就可以制作一直到1.6的应用程序.
一个Animation
对象为视图的图像设置动画。例如,如果使用此按钮,则要在屏幕上移动按钮,将无法在新的可见位置单击该按钮,因为该按钮并未真正移动,只能翻译其位图表示形式。由于要对位图进行修改,因此您也将无法更改其比例。如果您使用xml文件,请将它们放在anim
文件夹中。
一个Animator
对象使视图的属性(例如边距或宽度)动起来。如果使用此按钮在屏幕上移动按钮,则可以在新的可见位置捕获对其的点击。如果您使用xml文件,请将它们放在animator
文件夹中。
如果只需要修饰效果,例如淡入或小的外观转换,则使用a Animation
会更有效,因为它不会调用layout()
或measure()
方法。如果确实需要捕获诸如单击事件之类的操作,请使用Animator
。
归档时间: |
|
查看次数: |
15650 次 |
最近记录: |