Android在视图上的绘图位置

时间:2015-12-21 11:29:15

标签: android view draw

由于我是Android开发的初学者,我需要有人给我答案或对我的问题发表任何评论。

当我使用以下代码在视图上绘制一个简单的矩形时,矩形不会以我期望的方式显示。

canvas.drawLine(0, 0, getWidth(), getHeight(), framePaint);

enter image description here

但是当我这样改变它时,它显示得恰到好处。

canvas.drawRect(1, 0, getWidth(), getHeight()-1, framePaint);

正确

enter image description here

看起来左边和底边的线被剪掉了视图。 我期待视图的位置开始零索引,例如0~(视图大小)-1。我理解错误还是做错了什么?

framePaint配置如下;

framePaint = new Paint();
framePaint.setColor(Color.rgb(255,0,0));
framePaint.setStrokeWidth(1);
framePaint.setStyle(Paint.Style.STROKE);

1 个答案:

答案 0 :(得分:0)

这是发生了什么:

当您从总像素中减去一个时,它会在图像中绘制线条,而不是在图像外部。

此外,开头的“1”也有助于代码留在画布中。

您可能想尝试用 2 替换代码中的 1,因为画布使用额外的像素来自动去除“锯齿”。