“平移动画”控制布局或按钮的位置和位置,或者应用动画的任何视图.它可以在x方向或y方向上移动对象.
句法 :
TranslateAnimation transAnimation= new TranslateAnimation(fromXposition,toXPosition,fromYPosition,toYPosition);
fromXposition- x动画开始的坐标
toXPosition-x动画结束的坐标
fromYPosition-从动画应该开始的坐标.
toYPosition-动画结束的坐标.
1)如果我们只想在X方向上进行平移,那么我们将fromPosition和toYPosition设置为零.
2)如果我们只想在Y方向上进行平移,那么我们将fromXPosition和toXPosition设置为零.
还有另一种方法,我们在res文件夹中创建一个anim文件夹.在这个文件夹中,我们添加了动画xml.我们使用translate标签来指定属性值.
在下面的xml中
android:duration定义动画的执行时间
android:repeatCount指定no.应该重复动画的次数,
android:fromYDelta定义动画应该从哪里开始的y坐标
android:toYDelta定义动画结束的y坐标.
line_translate.xml
码:
Animation lineTranslate;
//loading xml from anim folder
Animation localAnimation = AnimationUtils.loadAnimation(this,R.anim.line_translate);
//You can now apply the animation to a view
view.startAnimation(transAnimation);
翻译动画可以改变对象的视觉外观,但是它们不能更改对象本身.也就是说,如果您将转换动画应用于视图,它将移动到新位置,但其点击事件不会被触发,而点击事件仍将在其先前位置被触发.发生这种情况是因为视图仍处于原始位置.
为了克服这个问题,我们可以使用实际移动对象的ObjectAnimation.对象动画是实际移动对象的唯一动画.您可以使用ObjectAnimator创建翻译动画.
ObjectAnimator transAnimation= ObjectAnimator.ofFloat(view,propertyName,fromX,toX);
transAnimation.setDuration(3000);//set duration
transAnimation.start();//start animation
view -this是要应用动画的视图
propertyName – 要设置动画的属性.
FromX,toX-动画随时间变化的一组值.
希望这会给你很好的理解.