zoukankan      html  css  js  c++  java
  • Gesture(手势)浅析

    1.Gesture的作用

    ①在触摸屏上的连续触摸行为,形成某个方向上的移动趋势  (利用手势检测)

    ②连续画出一个不规则的行为  (利用增加手势)

    2.手势检测(GestureDetector)

    //创建GestureDetector
    
    public class GestureTest extends Activity  {
        GestureDetector detector = null;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            //第一步:用匿名类实现接口,供创建GestureDetector时候使用。
            GestureDetector.OnGestureListener gestureListener = new GestureDetector.OnGestureListener() {
                @Override
                public boolean onDown(MotionEvent e) {
                    //在屏幕按下时触发
                    return false;
                }
    
                @Override
                public void onShowPress(MotionEvent e) {
                    //在屏幕按下、未移动和松开时候触发
                }
    
                @Override
                public boolean onSingleTapUp(MotionEvent e) {
                    //在屏幕按下时触发
                    return false;
                }
    
                @Override
                public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
                    //在屏幕滑动的时候触发
                    return false;
                }
    
                @Override
                public void onLongPress(MotionEvent e) {
                    //在屏幕长按的时候触发
                }
    
                @Override
                public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
                    //Touch了滑动一点距离后,拿起手时触发。velocityX表示“拖过”动作在横向的速度,velocityY表示“拖过”动作在纵向时的速度
                    return false;
                }
            };
            //第二步:构造方法public GestureDetector(Context context,GestureDetector.OnGestureListener listener)
            detector = new GestureDetector(this,gestureListener);
        }
    
        //第三步:重写Activity的onTouchEvent()方法,并将点击事件给GestureDetector处理
        @Override
        public boolean onTouchEvent(MotionEvent event) {
            return detector.onTouchEvent(event);
        }
    }

    注:关于方法执行的顺序
    点击一下非常快的(不滑动)Touchup: 
    onDown->onSingleTapUp->onSingleTapConfirmed 

    点击一下稍微慢点的(不滑动)Touchup: 
    onDown->onShowPress->onSingleTapUp->onSingleTapConfirmed

    点击后一直不滑动:onDown->onShowPress->onLongPress

    3.增加手势(放弃,不讲)

  • 相关阅读:
    关于数据结构的建立
    让背景居中
    亲,你还在使用IE6吗?你 OUT 了!
    ASP 编程 防止字符编码出现乱码的最佳办法
    asp无组件上传图片 动态保存文件名 upload.inc逐句翻译
    微信小程序 textarea 简易解决方案
    PHP ckeditor富文本编辑器 结合ckfinder实现图片上传功能
    PHP 苹果消息推送
    PHP短信发送服务 youe短信企业服务
    c#简单易用的短信发送服务 悠逸企业短信服务
  • 原文地址:https://www.cnblogs.com/rookiechen/p/5288184.html
Copyright © 2011-2022 走看看