麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統 > Android > 正文

View中如何進行手勢識別onFling動作實現介紹

2020-04-11 12:17:19
字體:
來源:轉載
供稿:網友
很多網友發現Android中手勢識別提供了兩個類,由于Android 1.6以下的版本比如cupcake中無法使用android.view.GestureDetector,而 android.gesture.Gesture是Android 1.6開始支持的,考慮到仍然有使用Android 1.5固件的網友,就來看下兼容性更強的android.view.GestureDetector。在 android.view.GestureDetector類中有很多種重載版本,下面我們僅提到能夠自定義在View中的兩種方法,分別為 GestureDetector(Context context, GestureDetector.OnGestureListener listener) 和GestureDetector(Context context, GestureDetector.OnGestureListener listener, Handler handler) 。我們可以看到第一個參數為Context,所以我們想附著到某View時,最簡單的方法就是直接從超類派生傳遞Context,實現 GestureDetector里中提供一些接口。

下面我們就以實現手勢識別的onFling動作,在CwjView中我們從View類繼承,當然大家可以從TextView等更高層的界面中實現觸控。
復制代碼 代碼如下:

class CwjView extends View {
private GestureDetector mGD;
public CwjView(Context context, AttributeSet attrs) {
super(context, attrs);
mGD = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() {
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
int dx = (int) (e2.getX() - e1.getX()); //計算滑動的距離
if (Math.abs(dx) > MAJOR_MOVE && Math.abs(velocityX) > Math.abs(velocityY)) { //降噪處理,必須有較大的動作才識別
if (velocityX > 0) {
//向右邊

} else {
//向左邊
}
return true;
} else {
return false; //當然可以處理velocityY處理向上和向下的動作
}
}
});
}
/*提示大家上面僅僅探測了Fling動作僅僅實現了onFling方法,這里相關的還有以下幾種方法來實現具體的可以參考我們以前的文章有詳細的解釋:
boolean onDoubleTap(MotionEvent e)
boolean onDoubleTapEvent(MotionEvent e)
boolean onDown(MotionEvent e)
void onLongPress(MotionEvent e)
boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)
void onShowPress(MotionEvent e)
boolean onSingleTapConfirmed(MotionEvent e)
boolean onSingleTapUp(MotionEvent e)
*/
//接下來是重點,讓我們的View接受觸控,需要使用下面兩個方法讓GestureDetector類去處理onTouchEvent和onInterceptTouchEvent方法。
@Override
public boolean onTouchEvent(MotionEvent event) {
mGD.onTouchEvent(event);
return true;
}
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
return mGD.onTouchEvent(event);
}
}

本節關于View中手勢識別的內容就講這些。大家知道,很多Android設備都提供了重力感應器和加速度感應器,而稍好些的設備還具備陀螺儀感應器,提供測試角速度功能。下一節將為大家講解重力感應知識。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 九九热视频这里只有精品 | 欧洲精品久久 | 在线日韩av电影 | 亚洲福利视频52 | 国产精品刺激对白麻豆99 | 久久久久99精品 | 成人不卡免费视频 | 中文字幕www | 久久久视频免费观看 | 日本娇小18xxxⅹhd | 亚洲自拍第二页 | 亚洲少妇诱惑 | 久久线视频| 成人午夜高清 | 久久99精品久久久久久秒播蜜臀 | 久久久婷婷一区二区三区不卡 | 黄色三级三级三级 | 久久精品国产亚洲7777小说 | 男女羞羞视频在线免费观看 | 日日摸夜夜骑 | av成人在线免费观看 | 国产成人综合在线观看 | 亚洲第一色婷婷 | 国产精选电影免费在线观看 | av成人一区二区 | 日本教室三级在线看 | 男人的天堂色偷偷 | 国产乱淫a∨片免费观看 | 欧美人与牲禽动交精品一区 | 激情黄页 | 国产一区二区三区四区五区在线 | 99精品视频在线免费观看 | 成人短视频在线播放 | 亚州精品在线视频 | 免看黄大片aa | 日韩视频www | 日本中文字幕电影在线观看 | av成人免费在线观看 | 九九热视频这里只有精品 | a黄色片 | 久久精品性视频 |