Я использовал обычай DragLinearLayout. Все дочерние элементы, добавленные с помощью addDragView()
, перетаскиваются (взаимодействие с пользователем).
Я хочу, чтобы симулировать событие перетаскивания для нажатого вида (плавное перемещение в нижней части макета).
Имитировать плавное перемещение Событие программно
ACTION_DOWN -> ACTION_MOVE -> ACTION_UP
Я пробовал этот код, но он не работал.
long downTime = SystemClock.uptimeMillis();
long eventTime = SystemClock.uptimeMillis();
float x = view.getLeft();
float y = view.getTop();
int metaState = 0;
MotionEvent downEvent = MotionEvent.obtain(
downTime,
eventTime + 1000,
MotionEvent.ACTION_DOWN,
x,
y,
metaState
);
view.dispatchTouchEvent(downEvent);
MotionEvent moveEvent = MotionEvent.obtain(
downTime,
eventTime + 1000,
MotionEvent.ACTION_MOVE,
x,
y + 300,
metaState
);
view.dispatchTouchEvent(moveEvent);
MotionEvent upEvent = MotionEvent.obtain(
downTime,
eventTime + 1001,
MotionEvent.ACTION_UP,
x,
y + 300,
metaState
);
view.dispatchTouchEvent(upEvent);
Вы нашли решение? – Gohan