Hello!Спасибо за чтение.
Основываясь на ответе этого , я интегрировал перетаскивание вида следующим образом:
float dX, dY;
@Override
public boolean onTouch(View view, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
dX = view.getX() - event.getRawX();
dY = view.getY() - event.getRawY();
break;
case MotionEvent.ACTION_MOVE:
setX(event.getRawX() + dX);
setY(event.getRawY() + dY);
break;
default:
return false;
} return true;
}
ОднакоПоложение вида относительно моего пальца пропорционально смещено с масштабом родительского макета.Другими словами, когда я начинаю масштабировать макет, перетаскивание View перерывается.
Я отлаживал довольно долго, и кажется, что даже зная масштаб родительского макета (как, скажем, dScale)), я не могу использовать это значение таким образом, чтобы полностью исправить смещение.
Я даже не могу достичь точки, в которой расстояние между моим пальцем и видом является постоянным.
Следует отметить, что проблема наблюдается только в том случае, если масштаб родителя не равен 1.
.
Большое спасибомного за вашу помощь!