// 構建手勢探測器
gesturedetector mygesture = new gesturedetector(activity, this);
private static final int fling_min_distance = 120;// 移動最小距離
private static final int fling_min_velocity = 200;// 移動最大速度
@override
public boolean ontouch(view v, motionevent event)
/** 使用者按下觸控螢幕、快速移動後鬆開,由1個motionevent action_down, 多個action_move, 1個action_up觸發
*/// 主要方法
@override
public boolean onfling(motionevent e1, motionevent e2, float velocityx,
float velocityy)
// 向左
if (e2.getx() - e1.getx() > fling_min_distance
&& math.abs(velocityx) > fling_min_velocity)
return false;
}// 下面方法沒用,但是這裡必須實現
/* 使用者長按觸控螢幕,由多個motionevent action_down觸發 */
@override
public void onlongpress(motionevent e)
/* 使用者按下觸控螢幕,並拖動,由1個motionevent action_down, 多個action_move觸發 */
@override
public boolean onscroll(motionevent e1, motionevent e2, float distancex,
float distancey)
/** 使用者輕觸觸控螢幕,尚未鬆開或拖動,由乙個1個motionevent action_down觸發
* 注意和ondown()的區別,強調的是沒有鬆開或者拖動的狀態
*/@override
public void onshowpress(motionevent e)
/* 使用者(輕觸觸控螢幕後)鬆開,由乙個1個motionevent action_up觸發 */
@override
public boolean onsingletapup(motionevent e)
@override
public boolean ondown(motionevent e) {
return false;
// 新增手勢控制
rl_box.setontouchlistener(this);
常見手勢新增
synthesize imageview cgfloat lastscalefactor 1 放大 縮小 cgfloat netrotation 旋轉 cgpoint nettranslation 平衡 nsarray images 陣列 int imageindex 0 陣列下標 void vie...
使用手勢控制
1,uipangesturerecognizer pangesturerecognizer uipangesturerecognizer alloc initwithtarget self action selector handlepangesturerecognizer 2,void handl...
給手勢新增tag值
1 定義乙個tap手勢,uitapgesturerecognizer tap uitapgesturerecognizer alloc initwithtarget self action selector evetap 2 通過uiview給手勢設定tag值 uiview tapview tap ...