我已经阅读了android中的手势,甚至在这个网站上发现了类似的问题,但没有给出解决方案。所以我再问一遍。
我想使用GestrueOverlay翻阅视图切换器。我运行了posebuilder,在res / raw中移动了手势文件,在我的XML中添加了叠加层并实现了监听器。我基本上复制了谷歌指令中的代码。
我可以看到听众跟踪手势,从褪色的黄色变为深黄色,但它无法识别手势。我写了一个吐司,以找出预测的大小,它总是读取ZERO。
请帮助,谢谢你的时间。
这是onCreate代码
mLibrary = GestureLibraries.fromRawResource(LayoutView.getContext(), R.raw.gestures);
gestures = (GestureOverlayView) LayoutView.findViewById(R.id.gestures);
gestures.addOnGesturePerformedListener(this);
这里是监听器代码
public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {
ArrayList<Prediction> predictions = mLibrary.recognize(gesture);
Toast.makeText(LayoutView.getContext(), String.valueOf(predictions.size()), Toast.LENGTH_SHORT).show();
// We want at least one prediction
if (predictions.size() > 0) {
Prediction prediction = (Prediction) predictions.get(0);
// We want at least some confidence in the result
if (prediction.score > 1.0) {
// Show the spell
Toast.makeText(overlay.getContext(), prediction.name, Toast.LENGTH_SHORT).show();
}
}
}
答案 0 :(得分:0)
对于那些和我有同样问题的人,我想我会发布我的解决方案。您必须在定义后加载手势库。我想
mLibrary = GestureLibraries.fromRawResource(LayoutView.getContext(), R.raw.gestures);
从资源加载手势,如果加载成功,那么mLibrary.load只是一个布尔值。我的错误是我没有使用那种方法。实际上,您还必须使用库上的load方法来加载手势。
新手的错误,你生活和学习。