Я хочу, чтобы слушатель одним касанием двигал объект (Прямоугольник просмотра изображения) и двойной палец для изменения размера изображения
Попробуйте:
rect.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
ViewGroup.LayoutParams lp = rect.getLayoutParams();
float lasty = 0f;
float lastx = 0f;
final float distheight = event.getRawY() - lasty;
final float distwidth = event.getRawX() - lastx;
Log.d("MotionTouch:", "finger: " + event.getPointerCount());
switch (event.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:
Log.d("MotionTouch:","ACTION_DOWN");
dx = v.getX() - event.getRawX();
dy = v.getY() - event.getRawY();
lastAction = MotionEvent.ACTION_DOWN;
break;
case MotionEvent.ACTION_MOVE:
Log.d("MotionTouch:","ACTION_MOVE");
v.animate().x(event.getRawX() + dx).y(event.getRawY() + dy).setDuration(0).start();
break;
case MotionEvent.ACTION_POINTER_DOWN:
Log.d("MotionTouch:","ACTION_POINTER_DOWN");
lp.height -= distheight;
lp.width -= distwidth;
rect.setLayoutParams(lp);
break;
case MotionEvent.ACTION_POINTER_UP:
Log.d("MotionTouch:","ACTION_POINTER_UP");
lp.height += distheight;
lp.width += distwidth;
rect.setLayoutParams(lp);
break;
default:
return true;
}
/* v.invalidate();
v.requestLayout();*/
return true;
}
});
Это работает, но когда два прикосновения пальца (MotionEvent.ACTION_POINTER_DOWN запускаются, а затем скрываются), тогда скрывается представление изображения (прямоугольник)
почему скрывается сенсорный объект (прямоугольник ImageView)
rect - прямоугольное изображение.