手势识别GestureOverlayView

简单的步骤:

第一步得在模拟器上安装一个手势识别的软件,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个控件就行
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值