应该下载什么Gesture文件并将其粘贴到res下的Raw文件夹中?如何从已下载的手势文件中识别用户的绘制手势。谁能告诉我这个?
如果我做比较,我应该能够了解已经下载的手势文件中的手势及其描述。这将是识别Gesture库中手势(用户绘制)的最简单方法。
答案 0 :(得分:3)
在android模拟器打开手势生成器应用程序然后 - >点击添加手势 - >在那里绘制你想要用于你的应用程序的手势。 添加手势后转到你的日食 - >打开ddms - >打开文件资源管理器。
在文件浏览器中有一个名为mnt / sdcard / gestures的文件夹,你可以找到你的手势文件。 现在将该文件复制到您要使用该手势操作的Raw文件夹中的项目。
之后
private GestureLibrary gestureLib;
private static final int LARGE_MOVE = 20;
private GestureDetector gestureDetector;
make your class implements OnGesturePerformedListener
//put following code inside your on create method
GestureOverlayView gestureOverlayView = new GestureOverlayView(this);
View inflate = getLayoutInflater().inflate(your layout file, null);
gestureOverlayView.addView(inflate);
gestureOverlayView.setGestureColor(Color.TRANSPARENT);
gestureOverlayView.setUncertainGestureColor(Color.TRANSPARENT);
gestureOverlayView.setGestureStrokeLengthThreshold(LARGE_MOVE);
gestureOverlayView.setGestureStrokeSquarenessTreshold(1);
gestureOverlayView.addOnGesturePerformedListener(this);
gestureOverlayView.setEventsInterceptionEnabled(true);
try{
gestureDetector = new GestureDetector(your class name.this, new SimpleOnGestureListener() {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2,float velocityX, float velocityY){
if (e1.getX() - e2.getX() > LARGE_MOVE) {
// do some thing here
return true;
} else if (e2.getX() - e1.getX() > LARGE_MOVE) {
// do some thing here
return true;
}
return false;
} });
}catch(NullPointerException e){
e.printStackTrace();
}
希望这适合你。 快乐编码