1.?建立手势库 ???????使用SDK自带例子GestureBuilder建立手势库(位置:android-sdk-windows\samples\android-8\GestureBuilder)。 ???????使用GestureBuilder之前,你需要恢复其到开发环境,然后进行编绎并部署到手机上。 ???????此时,就可以使用GestureBuilder建立手势库,生成的手势库文件在SCDard上,默认文件名称为:gestures ?????? ???????具体步骤: ??????????????1.?新建一个?Android?项目,项目名称为?GestureBuilder ??????????????2.?进入到?android-sdk-windows\samples\ ?????????????????进入到对应的版本?SDK?目录,因为我使用的是?Android2.2。 ?????????????????于是再进入到?android-8?目录下,打开?GestureBuilder?项目 ??????????????3.?选中?GestureBuilder?项目的?graphics、res、src?文件夹?和?AndroidManifest.xml?文件,复制它们 ??????????????4.?再进入到我们自己新建的?GestureBuilder?下,删掉自己的?graphics、res、src?文件夹?和?AndroidManifest.xml?文件 ?????????????????再将复制的内容粘贴到文件夹下。昨晚这些项目,就相当于将?Android的?例子程序?GestureBuilder?导入进了?eclipse?环境中 ???????????????? ??????????????5.?然后再将项目部属到模拟器上。出现一个添加手势库的程序。 ????????????? ??????????????6.?点击?"Add gesture",就可以添加一个手势。 ?????????????????在屏幕上画出一个图形,再在屏幕上方为这个图形输入一个名字。就完成了一个手势的添加。如图: 图一:绘图 ?? ? ? ? ? ? ? ? ??? ?? ? ? ? ? ? ?? ?? ? ? ? ? ? 图二:主界面,点击?"Add gesture" 和可进入到绘图界面 ?? ? ? ? ? ? ? ? ?? ?? ? ? ? ? ?? ??????????????7.?点击?"Done"?按钮可以保存这个手势到手势库文件 ????????????? ??????????????8.?所有添加的手势都被保存到了?SD?卡根目录下的?gestures?手势库文件中。 ????????????? ???????我添加了两个手势:一个?"勾"?形图形,名称为?"close" ;?一个?"W",名称为?"wjh"。 ???????在接下来的示例应用中,将用到这两个手势。当在应用中,画出?"勾"?形手势时,将关闭应用。当画出?"W"?手势时,将拨打?wjh?的电话号码。 ?????? 2.?新建?Android?项目:?Gesture ???将生成的手势文件导出来,并放置在?Gesture?应用中。 ???为了便于查找和使用,在?Gesture?应用的?res?目录下再新建一个?raw?目录,将手势库文件放置在此目录下面。如图: ??? ?? ?? 3.?界面设计,提供一个场地,使用户可以在此控件上可以画手势 ???使用?android.gesture.GestureOverlayView?控件 ?????<android.gesture.GestureOverlayView ???????????android:id="@+id/gestures" ???????????android:layout_width="fill_parent" ???????????android:layout_height="0dip" ???????????android:layout_weight="1.0" /> ? 4.?当一个手势画完毕后,会触发一个事件 ???????GestureOverlayView.addOnGesturePerformedListener(OnGesturePerformedListener listener) ???将用户一个手势画完后,就会调用?OnGesturePerformedListener?的?onGesturePerformed?方法。因此我们适合关注此方法,对手势进行识别。 ?????public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture); ? 5.?加载手势库 ???????GestureLibrary library = GestureLibraries.fromRawResource(this, R.raw.gestures); ???????library.load(); ? 6.?取出匹配集合 ???????/*?查找手势库中与用户画的手势库有些相似性的手势集合 ????????*?并按照相似性度高到低排序,与用户画的图形最相似的手势,放在集合第一个位置?*/ ????????ArrayList<Prediction> predictions = library.recognize(gesture); ? 7.?单手势识别?Activity?代码清单: ?? ? ? ????????????? ???????AndroidManifest.xml?添加拨打电话权限 ?? ? ? ?
详细解决方案
Android深入探究札记之二十三-手势识别
热度:107 发布时间:2016-05-01 17:00:59.0
相关解决方案
- android 读取byte[]中的元素解决方案
- android 标题栏兑现方式
- android 中Activity向BroadcastReceiver发送数据,该怎么解决
- Android 4.0 为什么模拟器老是提示小弟我谷歌拼音输入法已停止
- android:getSharedPreferences() 这是哪个类的方法解决思路
- android 怎么判断一个程序是否联网
- android 大量数据按周分组,该如何解决
- android RadioButton如何设置默认选中
- ksoap2-android-这个包,连接webService怎么设置超时
- android 怎么重新设置锚点
- android UI界面设计解决方案
- android 图片对象获取的有关问题
- android 怎么调用淘宝支付宝接口
- Android 沿袭InputMethodService自定义输入法
- android 关于服务连接的疑义
- android 两个activity如何通信
- android 怎么实现对view的放大和缩小
- android 教程解决方法
- android ID,该如何处理
- 准备复习2-3个月,看java+android,请问有经验者,怎么看效果最好》
- android UI线程与AsyncTask的有关问题
- android(java)中的java.net能不能和c#的system.net.sockets进行tcp通信,该如何解决
- android ListView 中的onItemClick Intent 没法跳转
- android(java) 中文乱码的有关问题
- c#c++,android,ios(iphone),php,java视屏课程 散分
- android Post文件到ASP.NET的有关问题,能收到参数收不到文件
- RIM 替 Android 开发者提供免费的 PlayBook!2月13日前
- android 动态设立控件高度
- Android test project 编译方法
- android -相机使用教程(1)解决方法