我是靠谱客的博主 朴实黄豆,最近开发中收集的这篇文章主要介绍TranslateAnimation动画结束后控件移动位置,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

使用TranslateAnimation并不会让控件的位置真正变化,只是视觉效果。
使用setFillBefore,setFillAfter控制动画结束时是否停留在第一帧/最后一帧。

使用动画效果,点击按钮btn,控件ll_all上下平移height并最终移到该位置。 注意,这里ll_all控件是放在Framelayout中的。
<pre class="java" name="code">TranslateAnimation ta = new Trandlateanimation(0,0,0,height);// 原来X坐标不动,Y坐标从0处平移height。
ta.setDuration(500);动画持续0.5秒
ta.setAnimationListener(new AnimationListener() {//动画开始/重复/结束的监听事件
@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
btn.clearAnimation();
FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) ll_all.getLayoutParams();
params.setMargins(ll_all.getLeft(), ll_all.getTop() + height,
0, 0);// 改变位置,这里是左右不变,上下平移height高度
ll_all.setLayoutParams(params);
}
});
btn.startAnimation(ta);



还可以使用view.Gone,view.VISIABLE来控制控件的位置,参考移动pad项目,设置图片为GONE/VISIBLE时,两个按钮自动就变换到指定位置了.

最后

以上就是朴实黄豆为你收集整理的TranslateAnimation动画结束后控件移动位置的全部内容,希望文章能够帮你解决TranslateAnimation动画结束后控件移动位置所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部