简单的步骤:
第一步得在模拟器上安装一个手势识别的软件,SDK下边自带这个例子了,大家把这个工程导入,然后安装到模拟器就OK了。 路径是 D:\ADT\sdk\samples\android-14\GestureBuilder 安装路径大家按自己的电脑看。。samples下有很多版本的,随便哪个都行,GestureBuilder这个工程就是我们要的。
在模拟器打开这个软件,可以自己新建几个手势,命名后在下边用鼠标滑动即可,貌似只能单笔输入啊。
之后在DDMS中导出这个文件,在sdcard目录下,文件名字是gestures。如下图
之后把这个文件复制到我们自己的工程里的 资源文件assets下,新建一个文件夹raw。放到下边即可。
代码如下
GestureLibrary gesturel;
GestureOverlayView gov;
TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gov=(GestureOverlayView) findViewById(R.id.gesture1);
tv=(TextView) findViewById(R.id.tv1);
//从资源文件中将手势库加载进来
gesturel=GestureLibraries.fromRawResource(this, R.raw.gestures);
gesturel.load();
//添加监听事件
gov.addOnGesturePerformedListener(new OnGesturePerformedListener() {
@Override
public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {
//识别手势,返回一个类型为Prediction的列表
ArrayList<Prediction> prediction=gesturel.recognize(gesture);
Prediction p=prediction.get(0);
//如果匹配度大于1,表示可以识别,否则提示无法识别
if(p.score>1){
//判断名字是否与手势库的名字相同
if(p.name.equals("left")) {
tv.setText("识别结果为:left");
}else if(p.name.equals("right")){
tv.setText("识别结果为:right");
}else {
tv.setText("无法识别");
}
}
}
});
}
xml文件里就一个textview 和GestureOverlayView。自己拉2个控件就行