我试图在画布上绘制一个浅灰色的另一个矩形的矩形,但它似乎什么也没做。这就是我所拥有的:
public void onDraw(Canvas c) {
Paint paint = new Paint();
paint.setColor(Color.LTGRAY);
c.drawRect(0, 0, width, height, paint);
paint.setColor(Color.WHITE);
c.drawRect(10, 10, width - 10, height - 10, paint); //This is slightly smaller than the gray rectangle, so it looks kinda like a border.
}
为了显示这一点,我在主活动中使用setContentView()将视图设置为扩展SurfaceView的新类。在自定义SurfaceView中创建曲面时,它会启动一个每100毫秒执行onDraw()的线程。我使用holder.lockCanvas(),然后onDraw()ing和holder.unlockCanvasAndPost(c)获得了Canvas。
答案 0 :(得分:0)
您在哪里初始化width
和height
?它们是否设为0?
尝试拨打canvas.getWidth()
或canvas.getHeight()
。