Gestures
除了使用按鈕等元件來觸發,也可以使用手勢來操控手機。使用的類別為GestureDetectorCompat,以下示範如何左右滑動來轉換Activity(換頁)。- 首先先宣告private GestureDetectorCompat mDetector;。
- 接著在onCreate內new GestureDetectorCompat物件,mDetector = new GestureDetectorCompat(this, new MyGestureListener());。
- 第二個參數可以直接使用匿名物件,也就是直接寫入new OnGestureListener() {methods...},此處將物件定義分開,寫成MyGestureListener()。
- OnGestureListener()包含多個手勢方法,例如onSingleTapUp()、onShowPress()、onScroll()、onLongPress()、onFling()、onDown()。在此使用onFling()。
- 在onCreate之外(同級方法)設計以下兩個方法。。
Test > Main4Activity.java
- 需要Override onTouchEvent()這個方法來使得設計可行。
- MyGestureListener繼承自GestureDetector.SimpleOnGestureListener。
- onFling()有四個參數,在此僅在意手勢是往左滑或是往右滑,所以僅使用前兩個。
- e1是一開始的位置,e2為最後位置,x軸座標左小右大,若是往右滑表示e2.getX()大於e1.getX(),兩者差距大於FLIP_DISTANCE時,觸發事件。
- FLIP_DISTANCE為自定義常數,此處設為protected static final float FLIP_DISTANCE = 50;。
- 觸發時使用startActivity(intent);方法換頁。
- 類似的手勢方法可以設計在MyGestureListener物件內。
。
Visibility
- 。
- 。
- 。
- 。
- 。
- 。
- 。
- 。