Android滑動手勢偵測方法介紹

2021-09-06 07:00:55 字數 2084 閱讀 5520

android滑動手勢偵測方法介紹 - 51cto.com

android sdk提供了乙個listener類來偵測各種不同的手勢:

******ongesturelistener. 你只需要實現自己所關心的手勢就可以了.

swipe在android裡面是叫fling

首先建立自己的乙個手勢detector類:

class mygesturedetector extends ******ongesturelistener  

乙個android滑動手勢有幾個特徵, 比如是在x或者y軸上近乎直線的划動, 中途路徑的偏差不能太大, 而且划動需要一定的速度, 所以我們定義幾個定量:

private static final int swipe_min_distance = 120;   

private static final int swipe_max_off_path = 250;   

private static final int 

swipe_threshold_velocity = 200;  

然後在onfling方法中, 判斷是不是乙個合理的swipe動作:

if(e1.getx() - e2.getx() > swipe_min_distance && math.abs

(velocityx) > swipe_threshold_velocity)  else if (e2.getx() - e1.getx() > swipe_min_distance && 

math.abs(velocityx) > swipe_threshold_velocity)    

if(e1.getx() - e2.getx() > swipe_min_distance && 

math.abs(velocityx) > swipe_threshold_velocity)  else if (e2.getx() - e1.getx() > swipe_min_distance && 

math.abs(velocityx) > swipe_threshold_velocity)  

這裡的viewflipper是含有多個view的乙個container, 可以很方便的呼叫prev/next view, 加上animation動畫, 可以達到一些不錯的效果:

viewflipper = (viewflipper)findviewbyid(r.id.flipper);   

slideleftin = animationutils.loadanimation

(this, r.anim.slide_left_in);   

slideleftout = animationutils.loadanimation

(this, r.anim.slide_left_out);   

sliderightin = animationutils.loadanimation

(this, r.anim.slide_right_in);   

sliderightout = animationutils.loadanimation

(this, r.anim.slide_right_out);  

自定義的animation可以檢視具體的xml, 比如從左邊進來的乙個動畫:

當然最後不要忘記在你的activity中override ontouch方法來獲取手勢action:

@override   

public boolean ontouchevent(motionevent event)  

Android開發之手勢滑動(滑動手勢監聽)詳解

android開發之手勢滑動 滑動手勢監聽 詳解 在android應用中,經常需要手勢滑動操作,比如上下滑動,或左右方向滑動,處理手勢滑動通常有兩種方法 一種是單獨實現setontouchlistener 來,另一種是構建手勢探測器 第一種方法,就是在要實現滑動的view中,實現ontouchlis...

android 滑動手勢的監聽

之前開發中有滑動監聽的需求,進行了查詢學習,今天專案中有用到,貼出來分享給有需要的小夥伴,廢話不多說直接貼 float mposx 0 float mposy 0 float mcurposx 0 float mcurposy 0 findviewbyid r.id.ll bottom setont...

ios 左右滑動手勢

這是乙個很簡單的例項,向做滑動,開啟側邊欄,向右滑動,關閉側邊欄。1.在viewcontroller中新增兩個屬性 property nonatomic,strong uiswipegesturerecognizer leftswipegesturerecognizer property nonat...