android TranslateAnimation滑动动画

在android动画中,最常用的一个莫不是 TranslateAnimation了,这个类主要 负责实现控件的动态位移,经常被用做指示器的移动动画。比如qq安卓客户端的指示器,如下图。


构造函数
TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, floattoYDelta)

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

// 左右移动动画
			Animation animation = new TranslateAnimation(one * currentIndex,
					one * position, 0, 0);
			currentIndex = position;
			// 图片停留在动画结束的位置
			animation.setFillAfter(true);
			animation.setDuration(100);
			imageView.startAnimation(animation);











猜你喜欢

转载自forlan.iteye.com/blog/2259238