2

次のコードで、dispatchTouchEvent を使用してスワイプ ジェスチャを作成します。

@Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
        // TODO Auto-generated method stub
        boolean result = super.dispatchTouchEvent(ev);
        // disable the gesture in this screen because we have   
        return gDetector.onTouchEvent(ev);
    }

SignatureView を使用して、 https://github.com/CoatedMoose/CustomViews/blob/master/library/src/com/coatedmoose/customviews/SignatureView.javaを使用して顧客の署名をキャプチャし たいので、ユーザーが SignatureView をクリックすると、どうすればそれを行うことができますか?

4

1 に答える 1

2

私はSignatureViewプロジェクトに精通していませんが、通常のGesturDetector場合、次のようなものGestureDetectorで、「ターゲット」の範囲内にある場合にのみイベントを渡すことができますView:

@Override
public boolean dispatchTouchEvent(MotionEvent ev) {

    boolean result = super.dispatchTouchEvent(ev);

    if (inSignatureArea(ev)) {
        return gDetector.onTouchEvent(ev);
    }
    else {
        return result;
    }     
}

public boolean inSignatureArea(MotionEvent ev) {
    float eventX = ev.getX();
    float eventY = ev.getY();
    return (eventX > signatureArea.getX() && eventX < (signatureArea.getX() + signatureArea.getWidth())) ;
    // && (same thing for Y and height); 
}

ニーズに合わせて調整できるはずです。

于 2013-02-26T15:49:52.333 に答える