对于Android中的手势识别可以从以下三个Listener入手——OnTouchListener、OnGestureListener、OnDoubleTapListener。这三个监听器分别是触摸监听、手势滑动监听和屏幕双击操作监听。很多的时候我们需要这些手势识别的操作,例如我们自定义控件的时候就经常会用到。下面就对这三个监听器分别进行介绍。

触摸监听器OnTouchListener
让我们的Activity去现实此接口,并重写onTouch方法。重写OnTouchListener的onTouch方法 此方法在触摸屏被触摸,即发生触摸事件(接触和抚摸两个事件)的时候被调用。示范代码如下:
@Override
public boolean onTouch(View v, MotionEvent event) {
detector.onTouchEvent(event);
Toast.makeText(this, "onTouch", TIME_OUT).show();
return true;
}
手势滑动监听器OnGestureListener
让我们的Activity去现实此接口,并重写onFling、onLongPress、onScroll、onDown、onShowPress、onSingleTapUp方法。示范代码如下:
/**
* 手势滑动时别调用
*/
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
if (e1.getX() - e2.getX() > FLING_MIN_DISTANCE) {
Toast.makeText(this, "向左滑动", TIME_OUT).show();
} else if (e2.getX() - e1.getX() > FLING_MIN_DISTANCE) {
Toast.makeText(this, "向右滑动", TIME_OUT).show();
}
return false;
}
/**
* 长按时被调用
*/
@Override
public void onLongPress(MotionEvent e) {
Toast.makeText(this, "触发长按回调", TIME_OUT).show();
}
/**
* 滚动时调用
*/
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
float distanceY) {
Toast.makeText(this, "触发滚动回调", TIME_OUT).show();
return false;
}
/**
* 在按下动作时被调用
*/
@Override
public boolean onDown(MotionEvent e) {
Toast.makeText(this, "按下回调", TIME_OUT).show();
return false;
}
/**
* 按住时被调用
*/
@Override
public void onShowPress(MotionEvent e) {
Toast.makeText(this, "按住不松回调", TIME_OUT).show();
}
/**
* 抬起时被调用
*/
@Override
public boolean onSingleTapUp(MotionEvent e) {
Toast.makeText(this, "触发抬起回调", TIME_OUT).show();
return false;
}
双击屏幕监听器OnDoubleTapListener
让我们的Activity去现实此接口,并重写onDoubleTap、onDoubleTapEvent、onSingleTapConfirmed方法。示范代码如下:
@Override
public boolean onDoubleTap(MotionEvent arg0) {
Toast.makeText(this, "触发双击回调", TIME_OUT).show();
return false;
}
@Override
public boolean onDoubleTapEvent(MotionEvent arg0) {
Toast.makeText(this, "触发双击的按下跟抬起回调", TIME_OUT).show();
return false;
}
@Override
public boolean onSingleTapConfirmed(MotionEvent arg0) {
Toast.makeText(this, "触发单击确认回调", TIME_OUT).show();
return false;
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Android手势滑动识别
# Android手势滑动
# Android手势
# Android实现手势滑动和简单动画效果
# Android自定义View实现随手势滑动控件
# android中view手势滑动冲突的解决方法
# Android GestureDetector手势滑动使用实例讲解
# Android实现手势滑动多点触摸缩放平移图片效果(二)
# Android实现手势滑动多点触摸缩放平移图片效果
# Android手势滑动实现ImageView缩放图片大小
# Android实现手势滑动多点触摸放大缩小图片效果
# Android手势滑动实现两点触摸缩放图片
# Android开发之实现手势滑动的功能
# 回调
# 重写
# 双击
# 让我们
# 按下
# 这三个
# 自定义
# 就对
# 经常会
# 单击
# 大家多多
# public
# boolean
# Override
# brush
# java
# detector
# onTouchEvent
# event
# View
相关文章:
成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?
如何在万网开始建站?分步指南解析
定制建站是什么?如何实现个性化需求?
,有什么在线背英语单词效率比较高的网站?
如何在Ubuntu系统下快速搭建WordPress个人网站?
如何在腾讯云服务器快速搭建个人网站?
重庆市网站制作公司,重庆招聘网站哪个好?
如何选择PHP开源工具快速搭建网站?
小程序网站制作需要准备什么资料,如何制作小程序?
建站主机服务器选购指南:轻量应用与VPS配置解析
建站主机默认首页配置指南:核心功能与访问路径优化
建站之星安全性能如何?防护体系能否抵御黑客入侵?
建站之星体验版:智能建站系统+响应式设计,多端适配快速建站
C++如何使用std::optional?(处理可选值)
建站主机功能解析:服务器选择与快速搭建指南
C++用Dijkstra(迪杰斯特拉)算法求最短路径
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
如何确保FTP站点访问权限与数据传输安全?
青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?
整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?
建站之星安装步骤有哪些常见问题?
c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】
SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?
如何在服务器上三步完成建站并提升流量?
企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?
如何设计高效校园网站?
成都响应式网站开发,dw怎么把手机适应页面变成网页?
如何规划企业建站流程的关键步骤?
如何在Windows 2008云服务器安全搭建网站?
MySQL查询结果复制到新表的方法(更新、插入)
网页设计网站制作软件,microsoft office哪个可以创建网页?
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
建站VPS能否同时实现高效与安全翻墙?
如何在Golang中使用replace替换模块_指定本地或远程路径
利用JavaScript实现拖拽改变元素大小
专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?
建站之星如何保障用户数据免受黑客入侵?
网站代码制作软件有哪些,如何生成自己网站的代码?
专业网站建设制作报价,网页设计制作要考什么证?
如何通过虚拟主机快速完成网站搭建?
香港网站服务器数量如何影响SEO优化效果?
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
免费ppt制作网站,有没有值得推荐的免费PPT网站?
如何快速生成凡客建站的专业级图册?
如何用虚拟主机快速搭建网站?详细步骤解析
网站好制作吗知乎,网站开发好学吗?有什么技巧?
太原网站制作公司有哪些,网约车营运证查询官网?
*请认真填写需求信息,我们会在24小时内与您取得联系。