在GestureOverlayView中优化手势预测

时间:2014-03-13 16:58:02

标签: android android-ui gesture

我在模拟器中通过GestureBuilder生成了手势文件。我担心的是它有时会显示错误的预测。对于例如如果我有一个手势作为大写H,那么如果我只做一个水平笔划它会检测到匹配。 我添加了预测条件。分数> 1然后它也显示相同。

在java方面还有什么要添加的。我也试过给SEQUENCE_SENSITIVE和ORIENTATION_INVARIANT。还尝试设置setOrientationStyle(8);

请建议是否还有其他事情需要补充。

1 个答案:

答案 0 :(得分:1)

您需要设置适合您的最低分数。我建议用手势的名称和分数打印出所有预测的手势。如果你使用的是与我相同的演示代码,谓词应该以降序分数自动组织它们。

for (Prediction prediction : predictions)
    System.out.println(prediction.name + " " + prediction.score);

绘制符号并查看控制台吐出的内容。你会看到它列出了每个手势以及它们与每个手势的距离。设置最小分数(if(prediction.score> 3.0))然后仅调用预测手势列表中的第一个。调整分数,直到你开心。我发现10个作品很好,但是对于我的游戏,我正在强制绘图准确性,我一直到25个。

请记住,这个分数与手势文件中的手势有多接近,因此如果文件中的手势绘制得不好,那么完美的绘图不一定会得到最高分。

编辑:我还在我的应用中添加了左手势和右手势,以防止误报。如果左右滑动破坏了您的应用程序,我建议添加这些手势以捕获它们。