流畅地运行调度

时间:2018-08-27 05:33:14

标签: java android gesture accessibilityservice

我正在开始使用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,而this是我想要的。一些提示?

谢谢。

1 个答案:

答案 0 :(得分:0)

每100毫秒对手势的点进行一次采样。因此,您的500毫秒长行程将有6个点。如果您放慢行程,您将获得更好的保真度。