如何识别android中的多笔画手势

时间:2012-01-02 07:38:17

标签: android android-layout

这是我的代码。我想在我的应用程序中识别多笔画手势,但它不起作用:

gestureOverlayView.addOnGesturePerformedListener(new OnGesturePerformedListener()  
 {      
 @Override 
  public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture)  
   {  
    ArrayList<Prediction> predictions = gestureLib.recognize(gesture);  
      if (predictions.size() > 0)  
        {  
         prediction = predictions.get(0);  

      if (prediction.score > 1.0)  
          {  

            DrawText = prediction.name;  
          Toast.makeText(testone.this, "You Draw" + DrawText,Toast.LENGTH_LONG).show();  
          if(DrawText.equalsIgnoreCase("E"))  
               {  
            Toast.makeText(testone.this, "Z", Toast.LENGTH_LONG).show();  
            } 
         }  
     } 
   }  
 }); 

但是当我去绘制手势时,它会立即消失。

这是我的xml布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"  
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <TextView 
        android:layout_width="match_parent"  
        android:layout_height="wrap_content"
        android:text="Gesture Test"/>
    <Button 
        android:layout_width="match_parent"  
        android:layout_height="wrap_content"
        android:text="Check"
        android:id="@+id/checkit"
        />
     <android.gesture.GestureOverlayView  
        android:id="@+id/GalleryGesture"  
    android:layout_width="fill_parent"  
       android:layout_height="0dip"  
       android:layout_weight="1.0"
        android:gestureStrokeType="multiple"
        android:fadeOffset="1000">
    </android.gesture.GestureOverlayView>
</LinearLayout>    

我想在用户点击按钮时识别手势。

3 个答案:

答案 0 :(得分:0)

set android:gestureStrokeType="multiple"表示用于制作识别多个笔画的手势。

参见以下教程

http://developer.android.com/resources/articles/gestures.html

答案 1 :(得分:0)

你需要增加fadeoffset时间可能2000 cud b help

答案 2 :(得分:0)

gestureOverlayView.setGestureStrokeType(GestureOverlayView.GESTURE_STROKE_TYPE_MULTIPLE);