0

以下のいずれかを行いたいと考えています。

1) ビューでのスワイプ/フリングのみを許可し、シングル タップ、長押し、およびその他のイベントを無効にします。

また

2) ビューの上に別のビューをオーバーレイし、スワイプ/フリング/スクロール イベントのみがその下のビューに渡されるようにします。

Androidでそれを行うことは可能ですか?

4

2 に答える 2

0

使用例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 クラスでタッチ イベントを使用するメソッドを次に示します。各イベントを制御できます。
お役に立てば幸いです。

于 2013-04-15T14:08:07.300 に答える