2011-10-17 7 views
0

画面に触れるたびに画像を再描画する小さなアンドロイドアプリを作成しようとしています。Androidが画面に触れたときに画像を新しい位置に書き直す

Iは、画像Iが活性でonTouch(Event)メソッドをオーバーライドするときevent.getX()event.getY()によって提供される新しいx,y座標に再描画されることが期待。

誰でも手助けできますか?

答えて

0

私はあなたがイメージのビットマップオブジェクトを持っていると思います。

onTouch()メソッドからonDraw()メソッドを呼び出して、ビットマップを描画できます。ここでオーバーライドonDraw()メソッドを示すコードサンプルは次のとおり

protected void onDraw(Canvas canvas) 
     { 
     canvas.drawBitmap(imgBitmap, x, y, null); 
     } 

X、Yは、タッチの新たな座標です。 imgBitmapはイメージのビットマップオブジェクトです。 onTouch()メソッドでインスタンス変数xとyを更新できます。

これが役立ちますように!

+0

これは私がやっていることですが、画面に触れると画像が再描画されません。 – Arkangel

+0

drawサイクルを更新するためにinvalidate()を呼び出していますか? – c05mic

+0

パブリックブールonTouchEvent(MotionEventイベント) \t { \t \tスイッチ(event.getAction()){ \t場合MotionEvent.ACTION_DOWN: \t \t INT X =(INT)event.getX(); \t \t int y =(int)event.getY(); \t \t Rect rect = new Rect(); \t \t rect.set(50,50、x、y); \t \t canvas.drawBitmap(bob565、null、rect、null); \t \t \t break; \tケースMotionEvent.ACTION_UP: \t \t invalidate(); \t \t break; \t} \t trueを返します。 \t} – Arkangel

関連する問題