国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android實現手勢滑動識別功能

2019-12-12 02:46:05
字體:
來源:轉載
供稿:網友

對于Android中的手勢識別可以從以下三個Listener入手――OnTouchListener、OnGestureListener、OnDoubleTapListener。這三個監聽器分別是觸摸監聽、手勢滑動監聽和屏幕雙擊操作監聽。很多的時候我們需要這些手勢識別的操作,例如我們自定義控件的時候就經常會用到。下面就對這三個監聽器分別進行介紹。

觸摸監聽器OnTouchListener

讓我們的Activity去現實此接口,并重寫onTouch方法。重寫OnTouchListener的onTouch方法 此方法在觸摸屏被觸摸,即發生觸摸事件(接觸和撫摸兩個事件)的時候被調用。示范代碼如下:

@Override  public boolean onTouch(View v, MotionEvent event) {   detector.onTouchEvent(event);   Toast.makeText(this, "onTouch", TIME_OUT).show();   return true;  } 

手勢滑動監聽器OnGestureListener

讓我們的Activity去現實此接口,并重寫onFling、onLongPress、onScroll、onDown、onShowPress、onSingleTapUp方法。示范代碼如下:

/**   * 手勢滑動時別調用   */  @Override  public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,    float velocityY) {   if (e1.getX() - e2.getX() > FLING_MIN_DISTANCE) {    Toast.makeText(this, "向左滑動", TIME_OUT).show();   } else if (e2.getX() - e1.getX() > FLING_MIN_DISTANCE) {    Toast.makeText(this, "向右滑動", TIME_OUT).show();   }   return false;  }  /**   * 長按時被調用   */  @Override  public void onLongPress(MotionEvent e) {   Toast.makeText(this, "觸發長按回調", TIME_OUT).show();  }  /**   * 滾動時調用   */  @Override  public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,    float distanceY) {   Toast.makeText(this, "觸發滾動回調", TIME_OUT).show();   return false;  }  /**   * 在按下動作時被調用   */  @Override  public boolean onDown(MotionEvent e) {   Toast.makeText(this, "按下回調", TIME_OUT).show();   return false;  }  /**   * 按住時被調用   */  @Override  public void onShowPress(MotionEvent e) {   Toast.makeText(this, "按住不松回調", TIME_OUT).show();  }  /**   * 抬起時被調用   */  @Override  public boolean onSingleTapUp(MotionEvent e) {   Toast.makeText(this, "觸發抬起回調", TIME_OUT).show();   return false;  } 

雙擊屏幕監聽器OnDoubleTapListener

讓我們的Activity去現實此接口,并重寫onDoubleTap、onDoubleTapEvent、onSingleTapConfirmed方法。示范代碼如下:

@Override  public boolean onDoubleTap(MotionEvent arg0) {   Toast.makeText(this, "觸發雙擊回調", TIME_OUT).show();   return false;  }  @Override  public boolean onDoubleTapEvent(MotionEvent arg0) {   Toast.makeText(this, "觸發雙擊的按下跟抬起回調", TIME_OUT).show();   return false;  }  @Override  public boolean onSingleTapConfirmed(MotionEvent arg0) {   Toast.makeText(this, "觸發單擊確認回調", TIME_OUT).show();   return false; }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 如皋市| 宜川县| 同江市| 仁化县| 九台市| 庆元县| 叙永县| 桦南县| 西畴县| 呈贡县| 奇台县| 栾川县| 抚顺县| 理塘县| 乐至县| 扎鲁特旗| 睢宁县| 松江区| 宁海县| 阳城县| 宜阳县| 隆子县| 驻马店市| 东安县| 井冈山市| 宜兰市| 邵阳市| 肥西县| 京山县| 镇赉县| 惠东县| 龙山县| 寿宁县| 大洼县| 鲁山县| 彩票| 白水县| 安阳县| 凭祥市| 泗阳县| 绩溪县|