我有一个RelativeLayout
,我尝试使用以下代码制作动画:
view.animate().translationX(-1080).setDuration(200);
基本上,视图应该离开屏幕左侧。如果我将translationX(1080)
参数更改为正值,则视图会向右移动。
我不明白animate()
和translationX(int)
方法是如何工作的?
答案 0 :(得分:1)
请检查屏幕宽度值,确保其不为0,并确保其以像素为单位
答案 1 :(得分:0)
您可以尝试将其设为动画视图
int a = -1080;
int duration = 200;
TranslateAnimation anim = new TranslateAnimation(a, 0, 0, 0);
anim.setDuration(duration);
anim.setAnimationListener(new TranslateAnimation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) { }
@Override
public void onAnimationRepeat(Animation animation) { }
@Override
public void onAnimationEnd(Animation animation)
{
FrameLayout.LayoutParams params = (FrameLayout.LayoutParams)rlMain.getLayoutParams();
params.topMargin += 10; // Amount to move Down
params.leftMargin += 10; // Amount to move Right
rlMain.setLayoutParams(params);
}
});
rlMain.startAnimation(anim);