У меня есть расширенный вид использования холста. Я рисую основные рисунки в методе onDraw(), когда пользователь касается на холсте, мне нужно нарисовать изображение, потому что я использовал canvas внутри метода onTouchEvent(), он ничего не рисует, код приведен ниже, в чем проблема и как я могу решить эту проблемухолст не рисование изображений по другому методу
public class ScreenView extends View(){
static Canvas canvas;
Bitmap bm;
protected void onDraw(final Canvas canvas) {
super.onDraw(canvas);
this.canvas = canvas;
bm = BitmapFactory.decodeResource(getResources(),
R.drawable.ic_launcher);
canvas.draw.......
......
...........
}
public boolean onTouchEvent(final MotionEvent event) {
handleTouches(event.getX(), event.getY());
return false;
}
public void handleTouches(float x, float y) {
xLocTouch = (int) x;
yLocTouched = (int) y;
Paint paint = new Paint();
paint.setColor(Color.BLACK);
canvas.drawBitmap(bm, xLocTouch ,yLocTouched , paint);
}
}
Вы можете использовать Canvas только в методе onDraw (и связанный с ним: dispatchDraw(), draw()) – pskink