<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    咖啡伴侶

    呆在上海
    posts - 163, comments - 156, trackbacks - 0, articles - 2

    android GestureListener 手勢 多指縮放

    Posted on 2011-08-21 11:59 oathleo 閱讀(3243) 評論(0)  編輯  收藏 所屬分類: Android
    注意
    1.onDown 多指事件仍然響應成單指
    2.onScroll滑動時觸發,e1只能獲得一個點 ,而e2卻能獲得多點。(搞不清楚為什么怎么設計)
    3.想在view上加 GestureListener
    可以使用下面的代碼:
    public class ViewerInnerTouchListener implements OnTouchListener {

        
    private GestureDetector gestureDetector;

        
    public ViewerInnerTouchListener(GAViewer viewer) {
            gestureDetector 
    = new GestureDetector(new GestureListener(viewer));
        }

        
    public boolean onTouch(View v, MotionEvent event) {
            gestureDetector.onTouchEvent(event);
            
    return true;
        }

    }

        setOnTouchListener(
    new ViewerInnerTouchListener(this));

    判斷手勢:
        public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
            
    if (e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
                Log.i(
    "onFling""onFling");
                
    return true// Right to left
            } else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
                
    return false// Left to right
            }
            
    if (e1.getY() - e2.getY() > SWIPE_MIN_DISTANCE && Math.abs(velocityY) > SWIPE_THRESHOLD_VELOCITY) {
                
    return false// Bottom to top
            } else if (e2.getY() - e1.getY() > SWIPE_MIN_DISTANCE && Math.abs(velocityY) > SWIPE_THRESHOLD_VELOCITY) {
                
    return false// Top to bottom
            }
            
    return false;
        }


    GestureListener 的幾個方法要理解
         //Touch down時觸發,不論是touch (包括long) ,scroll
         public boolean onDown(MotionEvent e) {
         return false;
         }
        
         //Touch了還沒有滑動時觸發
         //(與onDown,onLongPress比較
         //onDown只要Touch down一定立刻觸發。
         public void onShowPress(MotionEvent e) {
         }
        
         //Touch了不移動一直Touch down時觸發
         //Touchdown后過一會沒有滑動先觸發onShowPress再是onLongPress。
         public void onLongPress(MotionEvent e) {
         }
        
         //上面這兩個函數都是在touch down后又沒有滑動(onScroll),又沒有長按(onLongPress),然后Touchup時觸發。
         /**
         * 點擊一下非常快的(不滑動)Touchup: onDown->onSingleTapUp->onSingleTapConfirmed
         *
         點擊一下稍微慢點的(不滑動)Touchup:onDown->onShowPress->onSingleTapUp->onSingleTapConfirmed
         * 點擊longpress ,onScroll 時 不觸發 onSingleTapUp
         */
         public boolean onSingleTapUp(MotionEvent e) {
         Log.i("onSingleTapUp", "onSingleTapUp");
         return false;
         }
        
         //Touch了滑動時觸發
         public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
         float distanceY) {
         return true;
         }
        
         //Touch了滑動一點距離后,up時觸發
         public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
         float velocityY) {
         return true;
         }
    主站蜘蛛池模板: 性xxxxx大片免费视频| 一级毛片不卡免费看老司机| 久久国产色AV免费看| 精品亚洲综合久久中文字幕| 三级黄色片免费看| 亚洲色爱图小说专区| 黄色免费在线网站| 亚洲日本va午夜中文字幕一区| 免费人成毛片动漫在线播放| 亚洲A∨无码一区二区三区 | 亚洲伊人久久大香线蕉苏妲己| 中文字幕免费在线看线人动作大片 | 在线观看亚洲免费视频| 欧洲精品免费一区二区三区| 欧亚一级毛片免费看| 亚洲视频一区二区| 大地资源网高清在线观看免费| 亚洲综合一区二区| 成人免费无毒在线观看网站 | 亚洲色无码专区一区| 国产一区二区三区免费视频| 一区二区三区精品高清视频免费在线播放| 亚洲精品国产福利一二区| 99在线热播精品免费99热| 久久久久亚洲AV无码网站| 久久WWW免费人成人片| 亚洲aⅴ无码专区在线观看春色| 亚洲高清国产拍精品青青草原| a级午夜毛片免费一区二区| 久久综合亚洲色HEZYO社区 | 最好免费观看韩国+日本| japanese色国产在线看免费| 亚洲天天在线日亚洲洲精| 午夜免费福利在线| 国产一级a毛一级a看免费视频| 亚洲国产电影在线观看| 啊v在线免费观看| 91久久精品国产免费一区| 亚洲AV色欲色欲WWW| 亚洲成AV人片在WWW色猫咪| 在线成人a毛片免费播放|