2011-12-05 26 views
1

私はonDrawでビットマップを描画しており、ユーザーが画面の特定の部分をクリックしたときにその画像を変更できるようにしたい。私は Android:キャンバスに表示されたビットマップ画像を変更する

protected void onDraw(Canvas canvas) { 
    super.onDraw(canvas); 
    canvas.drawColor(Color.WHITE); 
    canvas.drawBitmap(mallMap, 0, 0, null); 
    canvas.drawLines(pts, paint);} 

はその後、私のonTouch方法で私は

public boolean onTouchEvent(MotionEvent event) { 
    final int action = event.getAction(); 
    final int x = (int) event.getX(); 
    final int y = (int) event.getY(); 

    if (action == MotionEvent.ACTION_DOWN) { 
    Canvas.drawBitmap(lowerLeft, 0, 0, null); 
    return false;} 

はこの可能のようなものである別のビットマップを再描画できるようにしたいのですが...このような画像を表示しますか?私はキャンバスにこだわる必要があり、これをどうやってどうやったらどうなるかわからない。

ありがとうございました。

答えて

1

これは、onTouchEventでmallMapの値を新しいビットマップに変更し、ビューでinvalidate()を呼び出してonDrawを再び実行させることで可能です。このメソッドを使用して、onDrawの外部でキャンバスを参照する必要はありません。

関連する問題