0

これは私のプロジェクトでの私の要件です.キャンバス上のアンドロイドでアプリケーションを開発しています.キャンバスは画面全体をカバーしています.キャンバスにビットマップを描画しています.キャンバスとのアスペクト比に依存します.ビットマップの外で描画を制限する方法、これで誰でも助けてくれますか。

4

1 に答える 1

0

onTouchは次のようになりますね

public boolean onTouch(View v, MotionEvent event) {

    x = (int) event.getRawX();
    y = (int) event.getRawY();
    /* other code */
}

さて、あなたができることは、XとYがビットマップ上にないときにonTouchメソッドが何もしないように制限することです。

onTouchがイベントを「実際に」消費した場合も、onTouchはブール値を返します。この場合、X、Y値がビットマップ上にある場合はtrueを返し、X、Y値がビットマップから外れている場合はfalseを返します。

また、ビットマップから外れたときに指を持ち上げているようにイベントを動作させたい場合は、onTouchを再度呼び出して、次のようなイベントを渡すこともできます。

this.onTouch(v, MotionEvent.ACTION_UP);

これがお役に立てば幸いです。

于 2012-11-13T20:42:35.597 に答える