热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

Android编程使用GestureDetector实现简单手势监听与处理的方法

这篇文章主要介绍了Android编程使用GestureDetector实现简单手势监听与处理的方法,简单讲述了Android手势监听的原理并结合实例形式分析了GestureDetector实现手势监听与处理的相关操作技巧,需要的朋友可以参考下

本文实例讲述了Android编程使用GestureDetector实现简单手势监听与处理的方法。分享给大家供大家参考,具体如下:

添加手势识别监听步骤:

一、给相应的控件添加触摸监听事件,

二、利用GestureDetector转发这个触摸事件。

三、事先定义好一个实现simpleongestureListener这个监听的接口的类

四、在这个监听中处理各种事件。

具体代码如下:

MainActivity代码如下:

package com.example.gesturedetector;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
   ImageView img;
  GestureDetector myGestureDetector;
  class myGestureListener extends GestureDetector.SimpleOnGestureListener {
    @Override
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
      if (e1.getX()-e2.getX()>50)
      {
        Toast.makeText(MainActivity.this,"从右往左滑动",Toast.LENGTH_LONG).show();
      }else if(e2.getX()-e1.getX()>50){
        Toast.makeText(MainActivity.this,"从左往右滑动",Toast.LENGTH_LONG).show();
      }
      return super.onFling(e1, e2, velocityX, velocityY);
    }
  }
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    img = (ImageView) findViewById(R.id.img);
    myGestureDetector = new GestureDetector(new myGestureListener());
    img.setOnTouchListener(new View.OnTouchListener() {
      //motionEvent可以捕捉我们触摸屏幕的event事件
      @Override
      public boolean onTouch(View view, MotionEvent motionEvent) {
        myGestureDetector.onTouchEvent(motionEvent);
        return true;
      }
    });
  }
}

activity_main的代码如下:

<&#63;xml version="1.0" encoding="utf-8"&#63;>

  


更多关于Android相关内容感兴趣的读者可查看本站专题:《Android手势操作技巧汇总》、《Android基本组件用法总结》、《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。


推荐阅读
  • MyBatis模糊查询和多条件查询一、ISmbmsUserDao层根据姓名模糊查询publicListgetUser();多条件查询publicList ... [详细]
  • Android的四种启动模式
     对Android的启动模式不是很了解,这里记录下简单的理解内容以便日后查看。 Androi的四种启动模式分别为:standard,singleTop,singleTask,sing ... [详细]
  • 一、使用ContentProvider(内容提供者)共享数据ContentProvider在android中的作用是对外共享数据,也就是说 ... [详细]
  • 一、在androidStudio中实现tabs比较简单,新建项目就可以选择tabs模板进行创建,默认实现tabs功能:直接运行项目就可以看到效果:可以说非常简单,但是我们在实际开发 ... [详细]
  • Android性能优化检测App卡顿
    在移动APP性能评测-流畅度评测中,我们介绍了如何准确客观评价APP的流畅度,最终采用SM指标来评价应用的流畅度,在知道如何评价流畅度之后 ... [详细]
  • 软件自动化测试的学习路线
    软件自动化测试的学习步骤软件测试交流群关注软件测试技术公众号获取阅读目录软件自动化测试的学习步骤自动化测试的本质自动化测试学习的误区自动化测试的职位自动化测试分类Web自动化 ... [详细]
  • 一、基本Tag1.Tag定义了Item实例,有三个基本的属性来定义一个item实例,大小写敏感。id-每个Item实例的唯一标识type ... [详细]
  • Java发布webservice应用并发送SOAP请求调用
    webservice框架有很多,比如axis、axis2、cxf、xFire等等,做服务端和做客户端都可行,个人感觉使用这些框架的好处是减少了对于接口信息的解析,最主要的是减少了对于传递于网络中XML ... [详细]
  • Flex中使用filter过滤数据 ... [详细]
  • intellij idea修改maven配置时总是恢复默认配置的解决方法idea版本(2020.2.x)_java
    这篇文章主要介绍了intellijidea修改maven配置时总是恢复默认配置的解决方法idea版本(2020.2.x),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考 ... [详细]
  • 大数据分析Python有哪些爬虫框架
    一、ScrapyScrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。。用 ... [详细]
  • nvmw安装,用于控制node版本;
    之前一直使用的是nodev2.2.0版本,挺说新版本的node解决了npm安装插件产生文件夹结构过深的问题,所以就想更新试试;上网一看才发现,尼玛的node已经到了6.+版本了,好 ... [详细]
  • hibernate映射组件映射
    在Hibernate中,component是某个实体的逻辑组成部分,它与实体的根本区别是没有oid(对象标识符),compo ... [详细]
  • 在ROS系统中,参数读写一般通过xml或者yaml格式的文件,其中yaml用得比较多。这是一种可读性高,轻量级的标记语言,简单好用。对于yaml文件,ros中用的较早版本的yaml- ... [详细]
  • 如何理解MyBatis动态SQL
    本篇内容主要讲解“如何理解MyBatis动态SQL”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何理解M ... [详细]
author-avatar
g37112969
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有