首先用安卓自带的Gestures Bulider进行手势创建
将创建好的文件保存在这个项目中的 res下新建的raw文件夹中
手势文件我是在mnt/shell/emulated/0/gesttures中找到的
package com.example.file;
import java.util.ArrayList;
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.os.Bundle;
import android.widget.Toast;
public class MainActivity extends Activity {
GestureOverlayView gestureOverlayView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gestureOverlayView = (GestureOverlayView) findViewById(R.id.gestureOverlayView1);
// 1.找到刚才设定的手势文件
// 2.加载那个手势文件中的所有手势
// 3.匹配 识别
// 从资源中加载收拾库文件
final GestureLibrary library = GestureLibraries.fromRawResource(
MainActivity.this, R.raw.gestures);
library.load();
gestureOverlayView
.addOnGesturePerformedListener(new OnGesturePerformedListener() {
@Override
public void onGesturePerformed(GestureOverlayView overlay,
Gesture gesture) {
// TODO Auto-generated method stub
// 读出手势库内容、识别手势
ArrayList<Prediction> mygesture = library
.recognize(gesture);
Prediction prediction = mygesture.get(0);
if (prediction.score >= 5.0) {
if (prediction.name.equals("exist")) {
finish();
}
if (prediction.name.equals("next")) {
Toast.makeText(MainActivity.this, "下一首",
Toast.LENGTH_SHORT).show();
}
if (prediction.name.equals("previous")) {
Toast.makeText(MainActivity.this, "上一首",
Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(MainActivity.this, "没有该手势",
Toast.LENGTH_SHORT).show();
}
}
});
}
}