Запуск диспетчеризации Жестко плавно - PullRequest
0 голосов
/ 27 августа 2018

Я начинаю работать со службами доступности Android, и мне приходится воспроизводить постоянный жест над другими приложениями. Для этой цели я использую функцию dispatchGesture () , и все работает правильно.У меня просто проблемы с графикой, потому что моя цель - воспроизвести жест более плавно, чем мой фактический результат. Это мой текущий фрагмент кода:

Builder builder = new Builder();
Path path = new Path();

float r = 200;

path.arcTo(new RectF(initX - r/2, initY, initX + r/2, initY+r),180, 180);
path.arcTo(new RectF(initX - r/2, initY, initX + r/2, initY+r),0, 180);
path.arcTo(new RectF(initX - r/2, initY, initX + r/2, initY+r),180, 180);
path.arcTo(new RectF(initX - r, initY, initX + r/2, initY+r),0, 180);
path.lineTo(initX - r/2 + 50, initY - 200);

builder.addStroke(new StrokeDescription(path, 0, 500));

final GestureDescription build = builder.build();

dispatchGesture(build, new GestureResultCallback() {
    @Override
    public void onCompleted(GestureDescription gestureDescription) {
        super.onCompleted(gestureDescription);
    }

    @Override
    public void onCancelled(GestureDescription gestureDescription) {
        super.onCancelled(gestureDescription);
    }
}, null);

Мой результат this это - это то, что я хочу.Несколько советов?

Спасибо.

1 Ответ

0 голосов
/ 28 августа 2018

Точки жеста отбираются каждые 100 мс.Таким образом, ваш ход длиной 500 мс будет иметь 6 точек.Если вы замедлите удар, вы получите лучшую точность с вашей формой.

...