拖动后将视图设置为原始位置

时间:2013-03-15 13:18:00

标签: android android-animation ontouchevent translate-animation

我在imageview上使用onTouchListener。我基本上做的是在移动时动态设置它的参数,因此它给出了拖动效果。我将在下面发布我的代码:

btnAdd.setOnTouchListener(new OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        switch (event.getAction()) {
            case MotionEvent.ACTION_MOVE:
                final LayoutParams mParams = (LayoutParams) btnAdd
                        .getLayoutParams();
                int x = (int) event.getRawX();
                int y = (int) event.getRawY();
                mParams.leftMargin = x - btnAdd.getWidth() * 50 / 100;
                mParams.topMargin = y - btnAdd.getHeight();

                btnAdd.setLayoutParams(mParams);
                break;
            case MotionEvent.ACTION_UP:
                Animation traAnimation = new TranslateAnimation(btnAdd.getLeft(),
                        100, btnAdd.getTop(), 100);
                traAnimation.setDuration(3000);
                traAnimation.setFillEnabled(true);
                traAnimation.setFillAfter(true);
                break;
        }
        return true;
    }
});

我想要实现的是,当我将手指从图像上抬起时,图像应该被动画回到它开始时的位置(从我开始移动的位置)。

现在它显示非常奇怪的动画,任何想法我将如何实现这一目标?

0 个答案:

没有答案