Этот урок полезен:
http://www.helloandroid.com/tutorials/how-use-canvas-your-android-apps-part-1
Реализуйте то, что вы видите там, чтобы начать.
Затем вы можете обновить координаты X и Y изображения (в этом уроке они оба жестко запрограммированы на 10):
int mXpos = 10;
int mYpos = 10;
public void updateXY(int x, int y) {
mXpos = x;
mYpos = y;
}
@Override
public void onDraw(Canvas canvas) {
Paint paint = new Paint();
Bitmap kangoo = BitmapFactory.decodeResource(getResources(),
R.drawable.kangoo);
canvas.drawColor(Color.BLACK);
canvas.drawBitmap(kangoo, mXpos, mYpos, null);
}
Вероятно, вы должны инициализировать mXpos и mYpos в своем конструкторе, но я сделал это здесь для простоты в примере.
Затем в onCreate Canvastutorial добавьте свой OnTouchListener:
mGamePanel = (Panel) this.findViewById(R.id.SurfaceView01);
mGamePanel.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
mGamePanel.updateXY((int)event.getX(), (int)event.getY())
return true;
}});
ИЛИ, в зависимости от ваших потребностей, вы можете создать ArrayList из точек X, Y и каждый раз добавлять новую точку в onTouch, затем в свой метод onDrawхолста вы бы перебрали строку canvas.drawBitmap (kangoo, 10, 10, null) для каждой точки.