【发布时间】:2018-06-12 21:39:49
【问题描述】:
我使用以下代码让用户移动 imageview。我已经为此创建了一个自定义图像视图。
public class MovableImageView extends android.support.v7.widget.AppCompatImageView implements ImageView.OnTouchListener{
float x,y =0;
private static final String TAG = MovableImageView.class.getSimpleName();
public MovableImageView(Context context) {
super(context);
setOnTouchListener(this);
}
public MovableImageView(Context context, AttributeSet attrs) {
super(context, attrs);
setOnTouchListener(this);
}
public MovableImageView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
setOnTouchListener(this);
}
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
x = this.getX() - event.getRawX();
y = this.getY() - event.getRawY();
break;
case MotionEvent.ACTION_MOVE:
this.animate()
.x(event.getRawX() + x)
.y(event.getRawY() + y)
.setDuration(0)
.start();
Log.e("pos","x:"+String.valueOf(event.getRawX() + x)+"y:"+String.valueOf(event.getRawX() + y));
break;
default:
return false;
}
return true;
}
}
我使用上面的代码让用户拖动图像视图。此代码有效。然而,它也允许用户向左和向右移动图像。 我试图让它只向底部移动,而不是向上或向左或向右移动。请问我该如何解决这个问题?
【问题讨论】:
标签: android user-interface imageview