0

キャンバス オブジェクト (c) があり、キャンバスがタッチされるたびに関数を呼び出せるように、タッチ イベント リスナーを追加する必要があります。これまでのところ、それを追加する方法を見つけることができませんでした。ここに私が持っているものがあります:

c.setOnTouchListener(new onTouchListener(){onTouchEvent()});

そして onTouchEvent メソッド:

public boolean onTouchEvent(MotionEvent e){
    addBubble();
    return false;
}

Java と Android の両方の開発に慣れていないので、助けてくれてありがとう!

タッチリスナーをキャンバスに追加するつもりがない場合、どうすればこれを達成できますか?

4

2 に答える 2

4

キャンバスはタッチ イベントを取得しません。キャンバスは画面要素ではなく、Win32 の HDC のような一般的な描画可能領域です。画面に描画する必要さえなく、メモリ内のビットマップに描画できます。ビューは画面上の要素であり、タッチ リスナーを備えています。キャンバスではなく、ビューにリスナーを追加する必要があります。

于 2013-07-14T01:22:30.683 に答える
1

カスタム ビューの実装を作成できます。Canvas で何をするにしても、Canvas をパラメーターとして受け取る onDraw() で実装します。次に、ビューをレイアウトに追加し、必要なリスナーを指定します。

于 2013-07-14T01:23:33.973 に答える