成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android游戲開發(fā)之十一:View中如何進行手勢識別

移動開發(fā) Android 游戲開發(fā)
我們在進行Android游戲開發(fā)時會用到很多種控制,包括前面講到的按鍵和軌跡球控制方式,除此之外還有手勢操作、重力感應(yīng)等多種控制方式需要了解掌握。本節(jié)主要為大家講解在View中如何進行手勢識別。

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

下面我們就以實現(xiàn)手勢識別的onFling動作,在CwjView中我們從View類繼承,當(dāng)然大家可以從TextView等更高層的界面中實現(xiàn)觸控。

  1. class CwjView extends View {    
  2.     private GestureDetector mGD;    
  3.     public CwjView(Context context, AttributeSet attrs) {    
  4.         super(context, attrs);    
  5.         mGD = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() {    
  6.                 public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {    
  7.                     int dx = (int) (e2.getX() - e1.getX()); //計算滑動的距離    
  8.                     if (Math.abs(dx) > MAJOR_MOVE && Math.abs(velocityX) > Math.abs(velocityY)) { //降噪處理,必須有較大的動作才識別    
  9.                         if (velocityX > 0) {    
  10.                            //向右邊    
  11.    
  12.                         } else {    
  13.                             //向左邊    
  14.                         }    
  15.                         return true;    
  16.                     } else {    
  17.                         return false;  //當(dāng)然可以處理velocityY處理向上和向下的動作    
  18.                     }    
  19.                 }    
  20.             });    
  21.     }    
  22.   /*提示大家上面僅僅探測了Fling動作僅僅實現(xiàn)了onFling方法,這里相關(guān)的還有以下幾種方法來實現(xiàn)具體的可以參考我們以前的文章有詳細的解釋:   
  23.  boolean  onDoubleTap(MotionEvent e)    
  24.  boolean  onDoubleTapEvent(MotionEvent e)    
  25.  boolean  onDown(MotionEvent e)    
  26.  void  onLongPress(MotionEvent e)    
  27.  boolean  onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)    
  28.  void  onShowPress(MotionEvent e)    
  29.  boolean  onSingleTapConfirmed(MotionEvent e)    
  30.  boolean  onSingleTapUp(MotionEvent e)    
  31.  */   
  32.    //接下來是重點,讓我們的View接受觸控,需要使用下面兩個方法讓GestureDetector類去處理onTouchEvent和onInterceptTouchEvent方法。    
  33.     @Override   
  34.     public boolean onTouchEvent(MotionEvent event) {      
  35.         mGD.onTouchEvent(event);    
  36.         return true;    
  37.     }    
  38.     @Override   
  39.     public boolean onInterceptTouchEvent(MotionEvent event) {    
  40.         return mGD.onTouchEvent(event);    
  41.     }    
  42. }   

本節(jié)關(guān)于View中手勢識別的內(nèi)容就講這些。大家知道,很多Android設(shè)備都提供了重力感應(yīng)器和加速度感應(yīng)器,而稍好些的設(shè)備還具備陀螺儀感應(yīng)器,提供測試角速度功能。下一節(jié)將為大家講解重力感應(yīng)知識。

責(zé)任編輯:閆佳明 來源: jizhuomi
相關(guān)推薦

2024-07-08 08:38:37

Python游戲開發(fā)

2023-12-11 08:25:15

Java框架Android

2010-02-06 14:52:53

Android平臺

2010-02-01 14:48:43

2013-05-20 17:33:44

Android游戲開發(fā)自定義View

2022-05-17 12:25:59

物聯(lián)網(wǎng)智能建筑樓宇自控

2011-09-02 14:37:32

UbuntuAndroid

2018-04-18 08:57:59

AndroidiOS移動系統(tǒng)

2010-02-05 16:35:35

Android操作系統(tǒng)

2010-03-03 15:06:52

Android 游戲開

2017-09-08 13:30:32

深度學(xué)習(xí)圖像識別卷積神經(jīng)網(wǎng)絡(luò)

2013-01-05 10:16:26

需求開發(fā)

2011-08-22 12:05:50

Linux

2010-02-04 17:42:15

Android數(shù)據(jù)庫

2021-05-17 14:02:38

Swift 多重排序

2021-12-01 15:52:56

安全開發(fā)測試

2010-06-12 15:41:28

UML建模

2013-05-20 17:07:26

2013-02-21 10:32:29

Win Server 災(zāi)難恢復(fù)虛擬機

2013-05-21 13:33:02

Android游戲開發(fā)異步音樂播放
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产精品91久久久久久 | 99久久精品国产毛片 | 午夜国产 | 日韩精品 电影一区 亚洲 | 久久av一区二区三区 | 日韩国产免费观看 | 最新免费av网站 | 亚洲精品永久免费 | 国产91黄色 | 操久久| 欧美综合网 | 91中文字幕在线 | 精品无码三级在线观看视频 | 亚洲aⅴ一区二区 | 人妖av| 黄色一级大片在线免费看产 | 日韩精品二区 | 免费看的av | 日本在线播放 | 波多野结衣先锋影音 | 亚洲国产午夜 | 五月天国产视频 | 国产一级在线 | 国产精品久久久99 | 国产ts人妖一区二区三区 | 福利视频网站 | 亚洲福利一区二区 | 欧美八区 | 国产亚洲精品久久19p | 四虎海外 | 情侣av| 国产91在线视频 | 99精品视频免费在线观看 | 欧美一级做性受免费大片免费 | 91精产国品一二三区 | 黑人巨大精品欧美一区二区免费 | 欧美性受xxx| av网站在线看 | 久久久久久久久国产精品 | 成人在线免费观看 | 日韩精品中文字幕一区二区三区 |