我在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;
}
});
我想要实现的是,当我将手指从图像上抬起时,图像应该被动画回到它开始时的位置(从我开始移动的位置)。
现在它显示非常奇怪的动画,任何想法我将如何实现这一目标?