由于我是Android开发的初学者,我需要有人给我答案或对我的问题发表任何评论。
当我使用以下代码在视图上绘制一个简单的矩形时,矩形不会以我期望的方式显示。
canvas.drawLine(0, 0, getWidth(), getHeight(), framePaint);
错
但是当我这样改变它时,它显示得恰到好处。
canvas.drawRect(1, 0, getWidth(), getHeight()-1, framePaint);
正确
看起来左边和底边的线被剪掉了视图。 我期待视图的位置开始零索引,例如0~(视图大小)-1。我理解错误还是做错了什么?
framePaint配置如下;
framePaint = new Paint();
framePaint.setColor(Color.rgb(255,0,0));
framePaint.setStrokeWidth(1);
framePaint.setStyle(Paint.Style.STROKE);
答案 0 :(得分:0)
这是发生了什么:
当您从总像素中减去一个时,它会在图像中绘制线条,而不是在图像外部。
此外,开头的“1”也有助于代码留在画布中。
您可能想尝试用 2 替换代码中的 1,因为画布使用额外的像素来自动去除“锯齿”。