Android手势库

news/2024/7/10 3:49:50 标签: android, layout, library, list, xml, path
Android手势库
分类: Android 2011-07-18 11:21 210人阅读 评论(0) 收藏 举报
1. 生成手势 (可参考自带的GestureBuilder)

1) Layout里面加上
<android.gesture.GestureOverlayView
   android:id="@+id/gesture"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
  />
2)GestureOverlayView注册OnGestureListener实现onGesturesStarted, onGesture, onGestureEnded方法
3)当onGestureEndded调用时表明手势已经完成, 从overlay.getGesture中的到已经完成的手势
4)使用GestrureLibraries.from(path)得到GestureLibrary

5) 使用gesturelibrary.addGesture("xxx", gesture) 将gesture与字符串绑定


2. 使用手势


1)将手势库放在工程中
2) 加载手势库
3)实现GestureOverlayView.OnGesturePerformedListener
4)覆写onGesturePerfromed, library.recognize(gesture), 就可以识别手势了


单划处理 

首先生成手势库,用android中的自带例子生成。
并把生成的手势库,放入你要运行的android的项目的res目录下的raw中。
xml中设置手势的触屏界面 
<android.gesture.GestureOverlayView
   android:id="@+id/gesture"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
  />
若设成
<android.gesture.GestureOverlayView
   android:id="@+id/gesture"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
  />
则报错。
加载手势库,
 GestureLibrary library = GestureLibraries.fromRawResource(this,R.raw.gestures);//设置手势库路径
library.load();//加载手势库
得到手势屏幕
GestureOverlayView  overlayView =(GestureOverlayView) this.findViewById(R.id.gesture);
设置单笔手势监听器:
overlayView.addOnGesturePerformedListener(newGestureOverlayView.OnGesturePerformedListener(){
          public void onGesturePerformed(GestureOverlayViewoverlay,
                 Gesture gesture) {
             //用户写的手势与手势库对比,得到对比结果
             ArrayList<Prediction> list=library.recognize(gesture);
             if(list!=null){
                 Prediction p = list.get(0);//取得最符合的手势结果
                 if(p.score>5){//对比度越大相似度越高
                    Toast.makeText(getApplicationContext(), p.name, 1).show();
                 }
                 else{
                    Toast.makeText(getApplicationContext(), "匹配不成功", 1).show();
                 }
             }
             }
        });
 多划处理
xml中设置手势的触屏界面
<android.gesture.GestureOverlayView
   android:id="@+id/gesture"
   android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gestureStrokeType="multiple" <!-此句是设置使用多笔处理->
  />
将监听器该为
overlayView.addOnGestureListener(new OnGestureListener(){
          @Override
          public void onGesture(GestureOverlayView overlay, MotionEventevent) {     
          }
          public void onGestureCancelled(GestureOverlayViewoverlay,
                 MotionEvent event) {        
          }

          public void onGestureEnded(GestureOverlayViewoverlay,
                 MotionEvent event) {          }
          public void onGestureStarted(GestureOverlayViewoverlay,
                 MotionEvent event) {
             gesture = overlay.getGesture();//保存在后一次的屏幕图
          }
       });

http://www.niftyadmin.cn/n/1188057.html

相关文章

站立会议第七天

今天是最后一次站立会议&#xff0c;主要进行了一下几方面&#xff1a;1.调试了程序&#xff0c;修改了c程序中的细小问题。从而尽可能使程序完美运行。2.调试了微信小程序&#xff0c;并发布&#xff0c;从而在微信中直接搜索“次饭饭”就可以找到&#xff0c;并使用&#xff…

avuejs 单选按钮不能切换_PyQt5按钮类控件

GUI界面设计中&#xff0c;按钮是最常用的触发执行交互操作的控件。PyQt中根据不同的使用场景将按钮分为不同的表现形式。按钮基类是QAbstractButton。QAbstractButton提供的状态状态含义isDown()提示按钮是否被按下isChecked()提示按钮是否已经标记isEnable()提示按钮是否可以…

MSB3323:无法在证书存储区中找到清单签名证书

MSB3323&#xff1a;无法在证书存储区中找到清单签名证书 http://dearymz.blog.163.com/blog/static/2056574200917105924907/ 今天编译一个ClickOnce项目时发现了“MSB3323&#xff1a;无法在证书存储区中找到清单签名证书”错误&#xff0c;解决方法是将项目属性的“签名”选…

distenct oracle_Oracle去重及关键字Distinct

oracle——去除重复记录Distinct&#xff0c;用distinct关键字只能过滤查询字段中所有记录相同的(记录集相同)(1)取一个字段&#xff0c;去除重复项。假设要id这个字段的值&#xff1a;select distinct name from t1; --能消除重复记录&#xff0c;缺点&#xff1a;但只能取一个…

the currently displayed page contains invalid values错误解决

在要给改工程选择android ->project->android-> build target&#xff08;项目属性里&#xff09;时&#xff0c;就会出现"the currently displayed page contains invalid values"的字样&#xff0c; 之后发现没有为项目选择build target成功。 原因是没…

c语言看波形相位_汽车示波器测量凸轮轴位置传感器信号及波形分析

凸轮轴位置传感器&#xff0c;又称为凸轮轴转角传感器、相位传感器、气缸识别传感器&#xff0c;有的车上还称为1缸上止点传感器。现代汽车最常出现的名称还是凸轮轴位置传感器。凸轮轴位置传感器的作用主要是检测凸轮轴位置和转角&#xff0c;从而确定第1缸活塞的压缩上止点位…

Windows安装Warmserver phpMyAdmin无法打开解

"Windows安装Warmserver phpMyAdmin无法打开"解决今天在我的Win7旗舰版安装Warmserver2.2d 32Bit,安装后分别点击任务栏"Warmserver"图标左键菜单目录中的"Localhost"和"phpMyAdmin", 均显示为"无法打开网页(Http Error: 403), …

python写俄罗斯方块难不难_自学Python才两天,就成功编写俄罗斯方块游戏,这难道不是天才?...

人们常说&#xff0c;python不适合做游戏&#xff0c;但我偏爱玩游戏&#xff0c;做不了大的&#xff0c;做个小的也行啊。于是&#xff0c;我在自己毫无基础的条件下&#xff0c;用两天时间学python基础理论&#xff0c;再用已有的俄罗斯方块游戏源码和源文件&#xff0c;在我…