为什么在将ObjectAnimator用于View.TRANSLATION_X后,视图的位置始终会重置?

时间:2015-09-10 03:17:16

标签: android objectanimator

我创建了一个简单的应用程序,只需要在单击按钮时,imageview将移动到另一个位置。

下面是代码,但似乎当我点击按钮时,imageview始终以原始位置开始,而不是真实位置。我的代码有问题吗?

public class MainActivity extends Activity{

private ImageView iv;
private Button bt;
private AnimatorSet mAniSet;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.ddd);
    iv = (ImageView) this.findViewById(R.id.imageView1);
    bt = (Button) this.findViewById(R.id.button1);
    mAniSet = new AnimatorSet();

    bt.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            int pointOnScreen[] = new int[2];
            iv.getLocationOnScreen(pointOnScreen);

            ObjectAnimator AniTranslationX = ObjectAnimator.ofFloat(iv, View.TRANSLATION_X, pointOnScreen[0]+100);
            mAniSet.playTogether(AniTranslationX);
            mAniSet.setTarget(iv);
            mAniSet.setDuration(200).start();
        }           
    });
}

}

0 个答案:

没有答案