android拾遗04——手势监听
来源:互联网 发布:淘宝客服账号怎么登陆 编辑:程序博客网 时间:2024/06/05 20:26
android的手势监听
android的手势监听可以监听用户在屏幕上的任何点击、滑动事件,然后通过基于监听器的事件处理机制来做出响应。
开发的步骤有两步:
- 创建手势探测器,并进行实例化
- 为手势探测器绑定手势监听器,实现处理方法
手势的监听器监听且只监听以下几种事件:
- onDOwn 触碰事件
- onFling 拖动事件,这个方法会获得拖动的速度
- onLongPress 长按事件
- onScroll 滚动事件
- onShowPress 按下还未拖动或者松开时调用
- onSingleTapUp 轻触事件
代码示例:
package com.exe.feifei.gesture;import android.support.v7.app.ActionBarActivity;import android.os.Bundle;import android.view.GestureDetector;import android.view.MotionEvent;import android.widget.Toast;public class MainActivity extends ActionBarActivity { //声明手势探测器 GestureDetector gd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //实例化手势探测器的同时就是在为手势探测器绑定监听器,传入的第一个参数是当前的activity,第二个就是手势监听器 gd=new GestureDetector(this,new MyGestureListener()); } //在这个activity的触摸事件里面将触摸的处理托管给手势探测器处理 @Override public boolean onTouchEvent(MotionEvent me) { return gd.onTouchEvent(me); } //自定义手势监听器 class MyGestureListener implements GestureDetector.OnGestureListener { //当手指按下去的时候会调用,事件里面会有按下去的坐标 @Override public boolean onDown(MotionEvent arg0) { Toast.makeText(MainActivity.this,"按下去了ondown"+arg0.getX()+","+arg0.getY(),Toast.LENGTH_SHORT).show(); return false; } //长按事件处理方法一般按下去三秒才会处理事件 @Override public void onLongPress(MotionEvent e) { Toast.makeText(MainActivity.this,"长按下去了onlongpress"+e.getX()+","+e.getY(),Toast.LENGTH_SHORT).show(); } //手指在屏幕上快速滑动的时候调用,velocityX和VelocityY分别指的是在X和Y方向上的速度 @Override public boolean onFling(MotionEvent e1,MotionEvent e2,float velocityX,float velocityY) { Toast.makeText(MainActivity.this,"快速滑动onfling"+e1.getX()+","+e1.getY(),Toast.LENGTH_SHORT).show(); return false; } //当手指在屏幕上拖动的整个过程中都会形成事件,所以这个会调用很多次,但是每次的参数值是一样的,因为是在滑动的动作做完之后才会触发 @Override public boolean onScroll(MotionEvent e1,MotionEvent e2,float distanceX,float distanceY) { Toast.makeText(MainActivity.this,"滚动onscroll"+e1.getX()+","+e1.getY(),Toast.LENGTH_SHORT).show(); return false; } //每次按下去但是没有马上抬起来就会调用,和轻触相区别,测试估计每次两秒才相应 @Override public void onShowPress(MotionEvent e) { Toast.makeText(MainActivity.this,"点击onshowpress"+e.getX()+","+e.getY(),Toast.LENGTH_SHORT).show(); } //轻触事件,按下去在一秒甚至更短的时间内抬起就会触发 @Override public boolean onSingleTapUp(MotionEvent e) { Toast.makeText(MainActivity.this,"singleTapUP"+e.getX()+","+e.getY(),Toast.LENGTH_SHORT).show(); return false; } }}
:
0 0
- android拾遗04——手势监听
- android 手势监听
- Android手势滑动监听
- android 手势滑动监听
- Android实现手势监听
- Android手势监听类GestureDetector
- android手势滑动方向监听
- Android手势监听(GestureDetector类)
- Android不同层次的手势监听
- Android 手势监听学习总结
- Android手势监听类GestureDetector
- Android 手势监听之双击监听
- Android拾遗——adb常用命令
- android拾遗05——摇一摇开发
- Android—手势
- Android笔记:android监听手势上下滑动
- android开发之滑动手势翻图 滑动手势监听
- android开发之滑动手势翻图 滑动手势监听
- Java-----单例模式
- Android项目重构之路:架构篇 读后思考
- STM32启动文件分析
- java多线程之Callable初步实现
- 关于hasOwnProperty的小试验
- android拾遗04——手势监听
- IOS 创建简单表视图
- XAMPP集成环境下Apache端口占用、MySQL密码及其各种中文字符乱码问题解决汇总
- How To Debug Android By Adb
- 字符串移位包含问题
- Win7安vc2008编译报LINK : fatal error LNK1000: Internal error during IncrBuildImage
- JAVA学习日记 2015-7-13
- vs2013错误,错误 1 error MSB8020: The build tools for Visual Studio 2012
- 过滤NSString中的Emoji