android TranslateAnimation滑动动画

在android动画中,最常用的一个莫不是[color=red]TranslateAnimation[/color]了,这个类主要[color=red]负责实现控件的动态位移[/color],经常被用做指示器的移动动画。比如qq安卓客户端的指示器,如下图。
[img]http://dl2.iteye.com/upload/attachment/0113/3030/b81483ef-4096-3c1c-a4d0-0c9ed17176ee.png[/img]

[size=medium][b]构造函数[/b][/size]
TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, floattoYDelta)

Delta,顾名思义表示的是一个后一个和前一个的差值。XDelta即表示在X方向上的差值,同理YDelta表示在Y方向的差值。[color=red]若XDelta>0,则说明控件向右侧发生移动,否则向左侧移动[/color],Y轴方向是相同的道理。现在来说下各个参数的意思:
[b]fromXDelta[/b]:控件的开始移动前的位置,为什么是Delta呢?因为在此之前,该控件可能已经发生过了位移,因此它已经偏离了控件最初始的位置。因此采用了距离最初始位置的偏移量。
[b]toXDelta[/b]:相同道理,[color=red]想要移动的终点位置距离最初始位置的偏移量[/color]。记住,一定不要混淆的是,不要把这个最初始位置当成是移动开始前控件的位置,否则将会发生错误移动。


// 左右移动动画
Animation animation = new TranslateAnimation(one * currentIndex,
one * position, 0, 0);
currentIndex = position;
// 图片停留在动画结束的位置
animation.setFillAfter(true);
animation.setDuration(100);
imageView.startAnimation(animation);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值