代码示例:

MainActivity代码::

package com.example.gestureoverlayview;

import android.gesture.Gesture;
import android.gesture.GestureLibraries;
import android.gesture.GestureLibrary;
import android.gesture.GestureOverlayView;
import android.gesture.Prediction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {GestureOverlayView gestureOverlayView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        gestureOverlayView = (GestureOverlayView) findViewById(R.id.gestureOverlayView);
        //1\找到刚才与设定的收拾文件
        //加载收拾文件中的手势
        //匹配
        final GestureLibrary library=GestureLibraries.fromRawResource(MainActivity.this,R.r..(提前定义好的手势文件));
        library.load();

        gestureOverlayView.addOnGesturePerformedListener(new GestureOverlayView.OnGesturePerformedListener() {@Override
            public void onGesturePerformed(GestureOverlayView gestureOverlayView, Gesture gesture) {//读出手势,识别手势
                ArrayList<Prediction>mygesture = library.recognize(gesture);
                Prediction prediction = mygesture.get(0);//每次都从开始判断手势
                if (prediction.score>=5.0){   //判断相似度
                     if (prediction.name.equals("exit")){finish();
                     }if (prediction.name.equals("next")){Toast.makeText(MainActivity.this,"播放下一首歌",Toast.LENGTH_LONG).show();

                    }if (prediction.name.equals("pervious")){}}else {Toast.makeText(MainActivity.this,"播放上一首歌",Toast.LENGTH_LONG).show();
                }//
            }});
    }
}

activity_main代码示例::

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.gestureoverlayview.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!" />

    <android.gesture.GestureOverlayView
        android:layout_width="300px"
        android:layout_height="300px"
        android:id="@+id/gestureOverlayView"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true">

        <ImageView
            android:src="@mipmap/ic_launcher"
            android:layout_width="300px"
            android:layout_height="200px"
            android:id="@+id/qq"/>

    </android.gesture.GestureOverlayView>
</RelativeLayout>

Android 复杂的手势处理利用GestureOverView相关推荐

  1. android中view手势滑动冲突的两种解决方法

    android中view手势滑动冲突的解决方法,主要解决方法有两种,外部和内部拦截.有需要的可以参考下. Android手势事件的冲突跟点击事件的分发过程息息相关,由三个重要的方法来共同完成,分别是: ...

  2. android 支付宝手势密码锁,Android实现支付宝手势密码功能

    今天就给大家分享android实现支付宝手势密码,很常见,像现在用微信支付,支付宝支付的时候都要自己设置的4位PIN码,然后输入PIN码后立即调用支付接口去支付,毫无疑问的安全问题,不会觉得手机被人拿 ...

  3. android自定义手势,Android实现自定义手势和识别手势的功能

    这篇文章主要介绍了Android实现自定义手势和识别手势的功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 1. 先完成自定义手势的Activity 1.1 因 ...

  4. android 手势事件 重写,Android实现通过手势控制图片大小缩放的方法

    本文实例讲述了Android实现通过手势控制图片大小缩放的方法.分享给大家供大家参考,具体如下: 该程序实现的是通过手势来缩放图片,从左向右挥动图片时图片被放大,从右向左挥动图片时图片被缩小,挥动速度 ...

  5. android手势密码源码,Android自定义UI手势密码改进版源码下载

    在之前文章的铺垫下,再为大家分享一篇:Android手势密码,附源码下载,不要错过. 先看第一张图片的布局文件 activity_main.xml xmlns:tools="http://s ...

  6. [源码]Android安卓应用手势锁图案解锁的实现

    交互细节 用户首先使用账号/密码进行登录. 登录成功后,判断是否是第一次登录使用,如果是第一次则显示创建手势密码的界面,要求用户创建手势锁. 创建的过程中要求用户连接至少四个点,并且绘制两次以确认绘制 ...

  7. android 手势旋转,Android检测旋转手势

    近日在github上面看到一篇讲Android检测旋转手势的,觉得挺有意思的,现在分享给大家. 主要涉及到一些初中的几何知识和反正切函数的使用,分析如下. 旋转是一种两个手指的多点触屏动作,屏幕上的旋 ...

  8. android 上面月亮模式,Android UI 篇- 手势月亮 亮度动画

    Android UI 篇- 手势月亮动画 一.应用场景 1.1.先上效果图 2020-05-03 01_00_28.gif 一个有创意的亮度动画,通过手势上下滑动控制手机屏幕亮度,动画从太阳(天亮了) ...

  9. Android 12默认手势导航及bug修复

    Android 12默认手势导航方法有2种 第1种方法:配置如下ro即可 ro.boot.vendor.overlay.theme=com.android.internal.systemui.navb ...

最新文章

  1. Storm(一)集群搭建
  2. php开发自学经典.pdf_PHP从入门到精通(第3版) PDF扫描版[45MB]
  3. 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 调试进程 ATTACH 附着目标进程 | 读取目标函数寄存器值并存档 )
  4. 控制寄存器,CPU缓存,PWT,PCD
  5. web.xml中load-on-startup的作用
  6. PHP 接口输出 图片
  7. 大话oraclerac集群、高可用性、备份与恢复_Oracle RAC结构
  8. Java程序设计4——集合类
  9. SQLServer 维护脚本分享(08)临时数据库(tempdb)
  10. Azure powershell 获取 vmSize 可用列表的命令
  11. 怎么把截屏的一部分内容涂掉_电脑怎么录屏?录屏软件的使用技巧
  12. Opera 首个 “重生” 版本亮相:启用全新用户界面
  13. 凯撒密码 (Python实现)
  14. matlab 图像锐化 梯度 原理,Matlab梯度法图像锐化
  15. ASC18世界大学生超算竞赛题目分析以及思路总结
  16. Spring BcryptPasswordEncorder Log Rounds参数说明
  17. 俄罗斯方块30周年 设计者忆当年
  18. 应用方案 | 川土微电子CA-IS398X在PLC领域的应用
  19. 解决org.apache.zookeeper.KeeperException$UnimplementedException:KeeperErrorCode = Unimplemented for /S
  20. Android客户端之“微服私访”App的系统学习(一) 本地服务端环境的搭建和部署

热门文章

  1. python输入esc退出循环_如何用Esc键停止GhPython或者RhinoPython脚本运行
  2. python随笔01(robotframework自动化)
  3. 信号强度从百分比到分贝的转换
  4. springboot基于微信小程序的选课系统毕业设计源码060000
  5. ipad如何找到.开头的隐藏文件夹
  6. USACO Training切题纪念
  7. linux uwsgi 非root,nginx – 只能用root运行uwsgi
  8. 福建农林大学计算机分数线,福建农林大学录取分数线2021是多少分(附历年录取分数线)...
  9. win10亮度_Win10玩游戏优化设置教程,八大游戏优化设置,让游戏体验更佳
  10. 今天开始做战斗,回合制战斗代码实现第一篇,从头开始,简单的2d回合制游戏