[英]Android: Draw Rectangle Over Another Rectangle on Canvas
我正在尝试在画布上的另一个白色矩形上绘制一个浅灰色的矩形,但是它似乎无能为力。 这是我得到的:
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。
您在哪里初始化width
和height
? 它们设置为0吗? 尝试调用canvas.getWidth()
或canvas.getHeight()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.