<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;
         }
    主站蜘蛛池模板: 亚洲一级片免费看| 亚洲精品视频免费看| 免费日本黄色网址| 亚洲人成人伊人成综合网无码| 免费人成毛片动漫在线播放 | MM1313亚洲精品无码久久| 人成午夜免费视频在线观看| 亚洲字幕在线观看| 免费在线观看的网站| 国产色在线|亚洲| 在线成人a毛片免费播放 | 亚洲一卡二卡三卡| 成年女人免费视频播放77777| 亚洲熟女精品中文字幕| 夜夜嘿视频免费看| 午夜不卡AV免费| 亚洲欧洲国产精品香蕉网| 无码国产精品一区二区免费3p| 久久夜色精品国产噜噜亚洲AV| 欧美大尺寸SUV免费| 精品国产日韩亚洲一区在线| 久久毛片免费看一区二区三区| 亚洲av永久无码制服河南实里| 最近免费中文在线视频| 亚洲av无码专区在线电影| ZZIJZZIJ亚洲日本少妇JIZJIZ| 两个人看的www免费视频中文| 久久久久国产精品免费免费搜索 | 午夜电影免费观看| 精品国产福利尤物免费| 亚洲最新永久在线观看| 成全影视免费观看大全二| 4hu四虎免费影院www| 久久久亚洲欧洲日产国码是AV| 精品久久久久久久免费加勒比| 国产精品美女久久久免费| 亚洲男女一区二区三区| 亚洲AV蜜桃永久无码精品| **真实毛片免费观看 | 亚洲精品国产成人99久久| 性做久久久久久久免费看|