RelativeLayout animate()方法没有触发

时间:2015-09-07 17:13:34

标签: android android-animation android-relativelayout

我有一个RelativeLayout,我尝试使用以下代码制作动画:

view.animate().translationX(-1080).setDuration(200);

基本上,视图应该离开屏幕左侧。如果我将translationX(1080)参数更改为正值,则视图会向右移动。

我不明白animate()translationX(int)方法是如何工作的?

2 个答案:

答案 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);