android手势

一丶首先创建一个手势库

二丶手势实例

  1. 布局文件:

    在布局文件中有:

    <android.gesture.GestureOverlayView
            android:id="@+id/gv"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#000000"
            android:gestureStrokeWidth="10"
            android:gestureColor="#ff0000"
            />

  2. MainActivity中

    public class MainActivity extends Activity {
        
        private GestureOverlayView gv;//手势控件
        private GestureLibrary gestureLibrary;//加载手势库
        private boolean loadStatus;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //拿到控件
            gv = (GestureOverlayView) findViewById(R.id.gv);
            //创建加载手势库的工具
            gestureLibrary = GestureLibraries.fromRawResource(this, R.raw.gestures);
            //加载手势库
            loadStatus = gestureLibrary.load();
            //给gv加一个监听器
            //监听一种手势
            gv.addOnGesturePerformedListener(new OnGesturePerformedListener() {
                
                @Override
                public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {
                    //手势加载成功
                    if(loadStatus){
                        //识别手势 Prediction(手势相似度)
                        ArrayList<Prediction> pres = gestureLibrary.recognize(gesture);
                        if(!pres.isEmpty()){
                            Prediction pre = pres.get(0);
                            if(pre.score > 6){
                                if("close".equals(pre.name)){
                                    finish();
                                }else if("tel".equals(pre.name)){
                                    //打电话
                                    Intent intent  = new Intent();
                                    intent.setAction(Intent.ACTION_CALL);
                                    intent.setData(Uri.parse("tel://110"));
                                    startActivity(intent);
                                }else if("right".equals(pre.name)){
                                    Toast.makeText(getApplicationContext(), "正确", 0).show();
                                }
                            }else{
                                Toast.makeText(getApplicationContext(), "手势不匹配", 0).show();
                            }
                        }else{
                            Toast.makeText(MainActivity.this, "手势库加载失败", 0).show() ;
                        }
                        
                    }
                }
            });
        }
    }

时间: 2024-08-09 19:49:16

android手势的相关文章

Android手势源码浅析-----手势绘制(GestureOverlayView)

Android手势源码浅析-----手势绘制(GestureOverlayView)

android手势事件 快速移动 长按触摸屏 按下触摸屏,并拖动

/* 用户按下触摸屏.快速移动后松开 public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { //参数解释: // e1:第1个ACTION_DOWN MotionEvent // e2:最后一个ACTION_MOVE MotionEvent // velocityX:X轴上的移动速度,像素/秒 // velocityY:Y轴上的移动速度,像素/秒 // 触发条件 : /

Android手势操作使用Fling,Scroll等Gesture

Android手势操作  一盏灯, 一片昏黄: 一简书, 一杯淡茶. 守着那一份淡定, 品读属于自己的寂寞. 保持淡定, 才能欣赏到最美丽的风景! 保持淡定, 人生从此不再寂寞. 前言利用手势操作在现在的APP中越来越普及,大多数时候使用Fling,Scroll等Gesture能大幅度提高用户的操作体验,特别是大屏手机返回键程越来越大的现状下.  在Android系统下,手势识别是通过Gestur... douban.com/doulist/38811866/douban.com/doulist

Android 手势检测实战 打造支持缩放平移的图片预览效果(下)

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/39480503,本文出自:[张鸿洋的博客] 上一篇已经带大家实现了自由的放大缩小图片,简单介绍了下Matrix:具体请参考:Android 手势检测实战 打造支持缩放平移的图片预览效果(上):本篇继续完善我们的ImageView~~ 首先加入放大后的移动~~ 1.自由的进行移动 我们在onTouchEvent里面,加上移动的代码,当然了,必须长或宽大于屏幕才可以移动~~~ @Ov

【工作记录】android手势事件操作记录

/* 用户按下触摸屏.快速移动后松开 public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { //参数解释: // e1:第1个ACTION_DOWN MotionEvent // e2:最后一个ACTION_MOVE MotionEvent // velocityX:X轴上的移动速度,像素/秒 // velocityY:Y轴上的移动速度,像素/秒 // 触发条件 : /

Android 手势锁的实现 让自己的应用更加安全吧

今天偶遇以github上gesturelock关于手势锁的一个例子(有兴趣的去搜索下看看),于是下载下来研究,无奈基本没有注释,代码上存在一些问题(当设置gravity=center_vertical无法进行手势选择,无意中发现的),于是借鉴这位仁兄的代码,自己重写写了一个,修复了一些问题,加入一些基本的自定义属性,在此先感谢这位兄弟~. 先上图,默认效果图: 当然可以自定义数量啊,颜色神马的,自定义效果图: 如果你有艺术细胞,可以给我推荐几个颜色,无奈个人审美有问题~ 1.整体思路 a.自定义

Android手势缩放图片以及图片黏贴在手指随手势移动

一个Android手势缩放图片的工具类:同时,此类还实现另外一个功能:当手指按在触屏上移动时候,图片"黏贴"在手指上随手指移动而整体移动. 具体使用方法可以是这样:先new一个此类的实例,然后在ImageView的方法setOnTouchListener(new ImageViewOnMultiTouchListener()); 例如: ImageViewOnMultiTouchListener listener=new ImageViewOnMultiTouchListener();

Android手势密码LockPatternView、LockPasswordUtils、LockPatternUtils等分析

Android手势密码LockPatternView.LockPasswordUtils.LockPatternUtils 在使用别人写的这个手势密码的时候,我们通常是有自己的需求,可能这里的代码很多也很复杂,有没有什么很多注释,要把整个代码弄明白是要花很多时间而且基础要非常好的,可能在赶项目的时候没有时间去研究,下面我列出一些关键的地方,方便修改代码. 1.在创建手势密码的时候CreateGesturePasswordActivity中 下面是手势密码设置的时候界面的一些变化,和要处理的一些事

Android 手势(Gesture)

一.什么是手势? 所谓手势,其实就是指用户手指或触摸笔在触摸屏上的连续触碰行为,比如在屏幕上葱左至右划出一个动作,就是手势,再比如在屏幕上画一个圆圈也是一个手势,手势这种连续的触碰会形成某个方向上的移动趋势,也会形成一个不规则的几何图形.Android对两种手势行为都提供了支持: 1.对于第一种手势行为而言,Android提供了手势检测,并为手势检测提供了相应的监听器. 2.对于第二种手势行为,Android允许开发者添加手势,并提供了相应的API识别用户手势 二.手势检测 Android为手势

Android 手势&amp;触摸事件

在刚开始学Android的时候,就觉得Google的文档不咋样,在研究手势时,更加的感觉Google的文档写得实在是太差了.很多常量,属性和方法,居然连个描述都没有.没有描述也就罢了,但是OnGestureListener里手势这么多,它也没有一个介绍说明,在没有进行不断才尝试之前,谁能搞懂onLongPress和onShowPress,onScroll和onFling的关系与差别吗?Google真的需要在文档方面做一次大手术了.不过好在经过鄙人不断反复的尝试.从个人的角度为这几个手势动作做出了