<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # GestureDetector GestureDetector類給我們提供了三個接口,一個外部類 OnGestureListener:接口,用來監聽手勢事件(6種)。 OnDoubleTapListener:接口,用來監聽雙擊事件。 OnContextClickListener:接口,外接設備,比如外接鼠標產生的事件(本文中我們不考慮)。 SimpleOnGestureListener:外部類,SimpleOnGestureListener其實上面三個接口中所有函數的集成,它包含了這三個接口里所有必須要實現的函數而且都已經重寫,但所有方法體都是空的。需要自己根據情況去重寫。 > OnGestureListener接口方法解釋: > ~~~ public interface OnGestureListener { /** * 按下。返回值表示事件是否處理 */ boolean onDown(MotionEvent e); /** * 短按(手指尚未松開也沒有達到scroll條件) */ void onShowPress(MotionEvent e); /** * 輕觸(手指松開) */ boolean onSingleTapUp(MotionEvent e); /** * 滑動(一次完整的事件可能會多次觸發該函數)。返回值表示事件是否處理 */ boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY); /** * 長按(手指尚未松開也沒有達到scroll條件) */ void onLongPress(MotionEvent e); /** * 滑屏(用戶按下觸摸屏、快速滑動后松開,返回值表示事件是否處理) */ boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY); } ~~~ > OnDoubleTapListener接口方法解釋: > ~~~ public interface OnDoubleTapListener { /** * 單擊事件(onSingleTapConfirmed,onDoubleTap是兩個互斥的函數) */ boolean onSingleTapConfirmed(MotionEvent e); /** * 雙擊事件 */ boolean onDoubleTap(MotionEvent e); /** * 雙擊事件產生之后手指還沒有抬起的時候的后續事件 */ boolean onDoubleTapEvent(MotionEvent e); } ~~~ > SimpleOnGestureListener實現了OnGestureListener、OnDoubleTapListener、OnContextClickListener。SimpleOnGestureListener里面的方法是是三個接口的集合。 > ### GestureDetector使用 GestureDetector的使用非常的簡單,分為三個步驟: * 定義GestureDetector類, ~~~ private GestureDetector mGestureDetector; ~~~ * 將touch事件交給GestureDetector(onTouchEvent函數里面調用GestureDetector的onTouchEvent函數)。 ~~~ @Override public boolean onTouchEvent(MotionEvent event) { return mGestureDetector.onTouchEvent(event); } ~~~ * 處理SimpleOnGestureListener或者OnGestureListener、OnDoubleTapListener、OnContextClickListener三者之一的回調。 # ScaleGestureDetector ScaleGestureDetector是用于處理縮放的工具類 ScaleGestureDetector類給提供了OnScaleGestureListener接口,來告訴我們縮放的過程中的一些回調。 > OnScaleGestureListener回調函數介紹 > ~~~ public interface OnScaleGestureListener { /** * 縮放進行中,返回值表示是否下次縮放需要重置,如果返回ture,那么detector就會重置縮放事件,如果返回false,detector會在之前的縮放上繼續進行計算 */ public boolean onScale(ScaleGestureDetector detector); /** * 縮放開始,返回值表示是否受理后續的縮放事件 */ public boolean onScaleBegin(ScaleGestureDetector detector); /** * 縮放結束 */ public void onScaleEnd(ScaleGestureDetector detector); } ~~~ > ScaleGestureDetector類常用函數介紹,因為在縮放的過程中,要通過ScaleGestureDetector來獲取一些縮放信息。 > ~~~ /** * 縮放是否正處在進行中 */ public boolean isInProgress(); /** * 返回組成縮放手勢(兩個手指)中點x的位置 */ public float getFocusX(); /** * 返回組成縮放手勢(兩個手指)中點y的位置 */ public float getFocusY(); /** * 組成縮放手勢的兩個觸點的跨度(兩個觸點間的距離) */ public float getCurrentSpan(); /** * 同上,x的距離 */ public float getCurrentSpanX(); /** * 同上,y的距離 */ public float getCurrentSpanY(); /** * 組成縮放手勢的兩個觸點的前一次縮放的跨度(兩個觸點間的距離) */ public float getPreviousSpan(); /** * 同上,x的距離 */ public float getPreviousSpanX(); /** * 同上,y的距離 */ public float getPreviousSpanY(); /** * 獲取本次縮放事件的縮放因子,縮放事件以onScale()返回值為基準,一旦該方法返回true,代表本次事件結束,重新開啟下次縮放事件。 */ public float getScaleFactor(); /** * 返回上次縮放事件結束時到當前的時間間隔 */ public long getTimeDelta(); /** * 獲取當前motion事件的時間 */ public long getEventTime(); ~~~ ### ScaleGestureDetector使用 * 定義ScaleGestureDetector類 ~~~ ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看