应该下载什么手势文件并将其粘贴到res下的Raw文件夹中?如何从已下载的手势文件中识别用户绘制的手势。有人能告诉我这件事吗?
如果我做了比较,我应该能够知道手势及其在已经下载的手势文件中的描述。这将是从手势库中识别手势(用户绘制)的最简单方法。
发布于 2012-10-19 13:47:10
在android模拟器中,打开手势构建器应用程序,然后-->单击添加手势-->在那里绘制您想要用于应用程序的手势。添加手势后,转到eclipse ide -->open ddms --> open file explorer。
在文件资源管理器中有一个名为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();
}希望这对你有用。快乐编码
https://stackoverflow.com/questions/12967858
复制相似问题