Я использую следующий код, чтобы пользователи могли перемещать изображения. Я создал собственное изображение для того же.
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;
}
}
Я использую приведенный выше код, чтобы позволить пользователю перетаскивать изображение. Этот код работает. Однако это также позволяет пользователю перемещать изображение влево и вправо. Я пытаюсь заставить его двигаться только вниз, а не вверх, влево или вправо. Могу ли я узнать, как я могу разобраться в этом?