初探TranslateAnimation

今天在工作中做了一些动画效果,其中在TranslateAnimation遇到了一些坑,且记着,避免以后遇到又要挖坑。

TranslateAnimation有三个构造函数,今天用到是TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta);按照Google给的文档,这几个参数分别是 :

  float fromXDelta 动画开始的点离当前View X坐标上的差值
  float toXDelta 动画结束的点离当前View X坐标上的差值 
  float fromYDelta 动画开始的点离当前View Y坐标上的差值
  float toYDelta 动画开始的点离当前View Y坐标上的差值
       搞明白这几个参数还是很有必要的,上面的解释已经很清楚了,但是早上的时候我只是过了一下,并没有去理解它,所以绕了一大圈。因此有空的时候还是多看看api文档。。。

好了,现在来说说今天碰到的坑,今天要做的动画是做一个按钮,点击之后从按钮处平移出一排按钮,刚开始就直接用TranslateAnimation,然后用animation.setFillAfter(true)  让他固定住,但是实际效果却是菜单键真正的焦点并没有随之平移过来,就是按钮的监听位置还是在原先的位置,,Google了一下,发现大部分都是在他AnimationListener里面去监听,当执行到onAnimationEnd的时候停止动画,并且再重新设定他的坐标,想要了解的可以去Google一下,应该有很多。但是可能是我才疏学浅吧,试了几次没有成功的,郁闷啊。

之后又去查阅了下他的构造函数,深刻的理解了下他的意义,原来Google的做法并不是以上的那种,结合到今天做的效果就是,先将菜单的位置定到之后将显示的位置,隐藏他们,然后将fromYDelta定义到你想让他出现的地方,将toXDelta定义为0,之后执行动画,大功告成。

第一次写博客,有一些乱,希望是个好的开始!

源码下载地址:http://download.csdn.net/detail/troyxlin/7701287

 



==================================================================

*欢迎转载,尊重原创,所以转载请注明出处。

*http://blog.csdn.net/troyxlin/article/details/38324659

==================================================================



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值