【问题标题】:Running dispatchGesture fluidly流畅运行 dispatchGesture
【发布时间】:2018-08-27 05:33:13
【问题描述】:

我开始使用 android 无障碍服务,我必须在其他应用程序上方重播一个恒定的手势。为此,我使用了 dispatchGesture() 功能并且一切正常。我只是在以下方面有问题图形,因为我的目标是比实际结果更流畅地再现手势。这是我当前的代码 sn-p:

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 就是我想要的。一些提示?

谢谢。

【问题讨论】:

  • 尝试增加duration
  • 我尝试调整持续时间参数,但我的手势仍然滞后

标签: java android gesture accessibilityservice


【解决方案1】:

手势的点每 100 毫秒采样一次。因此,您的 500 毫秒长行程将有 6 个点。如果你减慢笔画,你会得到更好的形状保真度。

【讨论】:

  • 感谢您的回答,但我不需要更好的保真度,我需要我的手势流畅。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-23
  • 1970-01-01
  • 2015-04-24
  • 2015-04-22
  • 2020-04-07
  • 1970-01-01
相关资源
最近更新 更多