화면을 클릭하면 R.drawable.bullethole이 클릭한 좌표에 나타나도록 하기 위해서
onDraw에 이미지를 그려놓고(기본 좌표는 -100, -100)
onTouchEvent가 발생할 때마다 x,y값을 받아와서 적용하는데요
onDraw안에 onTouchEvent를 넣을수가 없어서 따로 분리를 하다보니
자꾸 invalidate가 되어서 이전 자국은 사라지고 새 좌표에 하나만 뜹니다
저는 누를 때마다 이미지가 추가되는.. 이전 클릭 지점에도 남아있게 하고 싶거든요
public class MainActivity extends Activity {
private MyView mview;
float x = - 100 ;
float y = - 100 ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
mview = new MyView( this );
setContentView(mview);
mview.setFocusable( true );
mview.setFocusableInTouchMode( true );
}
class MyView extends View{
BitmapDrawable mBmDrawable = null ;
MyView (Context context){
super (context);
mBmDrawable = (BitmapDrawable)context.getResources().getDrawable(R.drawable.bullethole);
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawBitmap(mBmDrawable.getBitmap(),x, y, null );
super .onDraw(canvas);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction()==MotionEvent.ACTION_DOWN){
x=event.getX();
y=event.getY();
invalidate();
return true ;
}
return false ;
}
}
}
|
어디를 건드려야 이전 이미지가 계속 남을까요? 자세히 설명부탁드려요ㅠㅠ