2012-10-19 30 views
2

应该下载什么手势文件并将其粘贴到res文件夹下的Raw文件夹中?如果用户的手势可以从已下载的手势文件中识别出来。谁能告诉我这个?必须下载什么手势文件,应该怎么做?

如果我做了比较,我应该能够知道已经下载的手势文件中的手势及其描述。这将是识别手势库中的手势(用户绘制)的最简单方法。

回答

3

在android模拟器打开手势生成器应用程序,然后 - >点击添加手势 - >在你想要用于你的应用程序绘制你的手势。 添加手势后,进入你的Eclipse IDE - >打开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(); 
      } 

希望这对你的作品后

。 快乐编码

+0

非常感谢你@Bug!现在它运作良好。 –