Gesture(手势)浅析
生活随笔
收集整理的這篇文章主要介紹了
Gesture(手势)浅析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.Gesture的作用
①在觸摸屏上的連續觸摸行為,形成某個方向上的移動趨勢(利用手勢檢測)
②連續畫出一個不規則的行為(利用增加手勢)
2.手勢檢測(GestureDetector)
//創建GestureDetector
public class GestureTest extends Activity {
GestureDetector detector = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//第一步:用匿名類實現接口,供創建GestureDetector時候使用。
GestureDetector.OnGestureListener gestureListener = new GestureDetector.OnGestureListener() {
@Override
public boolean onDown(MotionEvent e) {
//在屏幕按下時觸發
return false;
}
@Override
public void onShowPress(MotionEvent e) {
//在屏幕按下、未移動和松開時候觸發
}
@Override
public boolean onSingleTapUp(MotionEvent e) {
//在屏幕按下時觸發
return false;
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
//在屏幕滑動的時候觸發
return false;
}
@Override
public void onLongPress(MotionEvent e) {
//在屏幕長按的時候觸發
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
//Touch了滑動一點距離后,拿起手時觸發。velocityX表示“拖過”動作在橫向的速度,velocityY表示“拖過”動作在縱向時的速度
return false;
}
};
//第二步:構造方法public GestureDetector(Context context,GestureDetector.OnGestureListener listener)
detector = new GestureDetector(this,gestureListener);
}
//第三步:重寫Activity的onTouchEvent()方法,并將點擊事件給GestureDetector處理
@Override
public boolean onTouchEvent(MotionEvent event) {
return detector.onTouchEvent(event);
}
}
注:關于方法執行的順序
點擊一下非??斓模ú换瑒樱㏕ouchup:
onDown->onSingleTapUp->onSingleTapConfirmed
點擊一下稍微慢點的(不滑動)Touchup:
onDown->onShowPress->onSingleTapUp->onSingleTapConfirmed
點擊后一直不滑動:onDown->onShowPress->onLongPress
3.增加手勢(放棄,不講)
總結
以上是生活随笔為你收集整理的Gesture(手势)浅析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 多线程之如何创建线程和进程
- 下一篇: SpringBootSecurity学习