我是Android新手,我正在为Android开发Go游戏应用程序。 我在我的板上画一块石头有问题 这是我的onDraw()方法。
public void onDraw(Canvas canvas) {
//drawing a board
//...
//...
canvas.drawBitmap(stone_image, stoneX - (stone_image.getWidth() / 2), stoneY
- (stone_image.getHeight() / 2),paint);
}
我有一个onTouch()方法:
public boolean onTouchEvent(MotionEvent event) {
stoneX = (int) event.getX();
stoneY = (int) event.getY();
return true;
}
关键是,当我使用此方法在类构造中设置背景颜色时:
setBackgroundColor(Color.WHITE);
应用程序无法在touchEvent后在棋盘上绘制石头,但是当我没有设置背景颜色时,应用程序会完美地绘制石头。
附:属性stoneX,stoneY已正确定义和初始化。
答案 0 :(得分:2)
我不知道您使用的是哪种视图,但我知道使用带有背景的SurfaceView
时存在一些问题(对于其他视图也是如此?),其中背景绘制在顶部所以你只能得到一个背景。
相反使用setBackgroundColor(Color.WHITE)
设置背景颜色,您应该使用onDraw()
开始canvas.drawColor(Color.WHITE)
。