android手势识别
详细步骤不说了
运行上边这个项目之后,会生成这样一个手势识别库gestures,新建一个项目,
在res下面,建立一个raw文件夹,
然后引入这个库
下面是具体实例:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<android.gesture.GestureOverlayView
android:id="@+id/gestureOverlayView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/img1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/aa" />
</android.gesture.GestureOverlayView>
</LinearLayout>
<span style="font-size:14px;">package com.example.gusturedetecterdemo2;
import java.util.ArrayList;
import android.os.Bundle;
import android.app.Activity;
import android.gesture.Gesture;
import android.gesture.GestureLibraries;
import android.gesture.GestureLibrary;
import android.gesture.GestureOverlayView;
import android.gesture.GestureOverlayView.OnGesturePerformedListener;
import android.gesture.Prediction;
import android.view.GestureDetector;
import android.view.GestureDetector.SimpleOnGestureListener;
import android.view.Menu;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.ImageView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
public class MainActivity2 extends Activity {
private GestureOverlayView gestureOverlayView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
gestureOverlayView=(GestureOverlayView) findViewById(R.id.gestureOverlayView1);
final GestureLibrary library=GestureLibraries.fromRawResource(MainActivity2.this, R.raw.gestures);
library.load();
gestureOverlayView.addOnGesturePerformedListener(new OnGesturePerformedListener() {
@Override
public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {
// TODO Auto-generated method stu 读出手势
//读出手势中的内容,识别手势
ArrayList<Prediction> mygesture=library.recognize(gesture);
Prediction predction= mygesture.get(0);
if(predction.score>5.0){
if(predction.name.equals("宿")){
Toast.makeText(MainActivity2.this, "一元钱代金券", Toast.LENGTH_LONG).show();
finish();
}
if(predction.name.equals("五角")){
Toast.makeText(MainActivity2.this, "五角钱代金券", Toast.LENGTH_LONG).show();
}
if(predction.name.equals("一")){
Toast.makeText(MainActivity2.this, "两角钱代金券", Toast.LENGTH_LONG).show();
}
}else{
Toast.makeText(MainActivity2.this, "没有该手势", Toast.LENGTH_LONG).show();
}
}
});
}
}
</span>
运行之后,滑动界面,就会出现手势识别,