你好。我在Android Canvas上绘制了一个矩形叠加层。
canvas.drawRect(0, 0, 1000, 1000, paint);
这是我的代码。我将起点设置为(0,0),即(左,上)坐标。但是(0,0)不在全屏的左上端点。无论宽度和高度如何,画布也无法覆盖全屏。
我该如何解决这个问题?
如果要全屏查看,请使用setContentView(canvas)
调用。将整个画布视图设置为布局。
您的问题是,默认情况下,XML使用名为Titlebar的名称,如回答here。除了删除标题栏外,您还可以将活动设置为全屏显示,也可以使用this solution删除状态栏。
请确保您的活动是从Activity
而非ActionBarActivity
导入的。
此外,在设置位置或大小时,尤其是目标是覆盖整个屏幕时,最好避免使用实际数字。您可以分别使用getWidth()
和getHeight()
来获取屏幕的宽度和高度:
canvas.drawRect(0, 0, getWidth(), getHeight());
请确保仅在]或之后使用这些方法>onDraw
被调用的方法,否则它们的值将等于0,因为尚未初始化画布。