作者tails32100 (Tails)
看板AndroidDev
标题Re: [问题] 多次TranslateAnimation无法接续位移
时间Sun Mar 30 13:21:49 2014
恕删原文
以下是以我用过的经验做说明,有错请指正
Android的Animation分三种,想知道更详细的请Google Android Developers:
1. View Animation,属於补间动画。
2. Property Animation,改属性值达成动画效果。
3. Drawable Animation,很像GIF,要放入每个Frame,然後再播放。
View Animation
它是决定View特定几个属性的开始点和结束点後,再由程式计算中间的补间动画
重点:它只是针对View做显示动画的效果,而不是真正移动它的位置
像某牌的Android系统可以看版面配置,一看就知道,它的位置都没动过
或是你可以把Button从上面移到下面
但你点下面时,Button不会理你,点上面才会有反应
而原po提到的TranslateAnimation就是属於这种
优点:用起来很简单
缺点:除了原po提到的问题外,还有就是,它的对象只能是View
Property Animation
它是直接改属性值来达到动画的效果,所以对象就可以不只是View了
另外,因为它是真的去改属性值,所以改完後看到的就是实际应有的属性了。
优点:可以确实地靠改属性来移动物件;对象不局限为View。
缺点:3.0後才支援;用起来比View Animation麻烦了点。
Drawable Animation
GIF...应该可以BJ4了吧... :D
结论:如果是连续动画需求的话,可能还是用Property Animation会比较好
--
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.126.68.4
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1396156912.A.0D6.html
1F:推 Nobuta:感谢热心回应,但我用ObjectAnimator不知为何结果还是一样 03/30 13:27
2F:→ Nobuta:ObjectAnimator.ofFloat(iv, View.TRANSLATION_X, 50); 03/30 13:27
3F:→ Nobuta:倘若我没搞错, 这应该是所谓的Property Animation吧? 03/30 13:27
4F:→ Nobuta:我在目标iv上设click的funciton,每次click就执行上述code 03/30 13:30
5F:→ Nobuta:结果还是每个click都从A->B 03/30 13:30
6F:→ tails32100:老实说,我没用过几次XDDD,只知道可以这样玩 03/30 13:31
7F:→ tails32100:Android SDK里的FullScreen Activity样板有范例哦 03/30 13:33
8F:→ tails32100:Property Animation的范例,它实现的是下面Button的滑 03/30 13:34
9F:→ tails32100:出和滑入,可以参考看看 03/30 13:34
10F:推 Nobuta:我之前看的类似范例 因为他滑出和滑入是固定进来和出去 03/30 13:53
11F:→ Nobuta:是用两个固定的Animation去实作 跟我的需求不一样 03/30 13:54
12F:→ tails32100:还有一个东西是 AnimatorListener 可能你会需要用到... 03/31 01:06
13F:→ tails32100:这两个加在一起,理论上基本的连续动画都搞得定啦Orz 03/31 01:07