以下のいずれかを行いたいと考えています。
1) ビューでのスワイプ/フリングのみを許可し、シングル タップ、長押し、およびその他のイベントを無効にします。
また
2) ビューの上に別のビューをオーバーレイし、スワイプ/フリング/スクロール イベントのみがその下のビューに渡されるようにします。
Androidでそれを行うことは可能ですか?
以下のいずれかを行いたいと考えています。
1) ビューでのスワイプ/フリングのみを許可し、シングル タップ、長押し、およびその他のイベントを無効にします。
また
2) ビューの上に別のビューをオーバーレイし、スワイプ/フリング/スクロール イベントのみがその下のビューに渡されるようにします。
Androidでそれを行うことは可能ですか?
使用例GetureDetector
。
public class Main extends Activity implements OnGestureListener {
private GestureDetector gDetector;
TextView ViewA;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
gDetector = new GestureDetector(this);
ViewA = (TextView)findViewById(R.id.txtView);
}
@Override
public boolean onTouchEvent(MotionEvent me) {
return gestureScanner.onTouchEvent(me);
}
@Override
public boolean onDown(MotionEvent e) {
viewA.setText("-" + "DOWN" + "-");
return true;
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
viewA.setText("-" + "FLING" + "-");
return true;
}
@Override
public void onLongPress(MotionEvent e) {
viewA.setText("-" + "LONG PRESS" + "-");
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
viewA.setText("-" + "SCROLL" + "-");
return true;
}
@Override
public void onShowPress(MotionEvent e) {
viewA.setText("-" + "SHOW PRESS" + "-");
}
@Override
public boolean onSingleTapUp(MotionEvent e) {
viewA.setText("-" + "SINGLE TAP UP" + "-");
return true;
}
}
GestureDetector クラスでタッチ イベントを使用するメソッドを次に示します。各イベントを制御できます。
お役に立てば幸いです。