0
  canvas.drawLine(10, 10, 10, canvas.getHeight(), paint);   
  canvas.drawLine(0, canvas.getHeight(), 100, canvas.getHeight(), paint);
//the vertical line can see, but the level line disappear,at first I thought it's because the length ,so I minus 30 on length,but it's the same

  canvas.drawLine(0, canvas.getHeight()-30, 100, canvas.getHeight()-30, paint);

我将在其中放入图像,但它超出了屏幕范围。视图是继承和覆盖onDraw方法。我试过设置默认背景,高度也在屏幕外。

有人可以帮我吗?

现在我得到的照片

4

2 回答 2

1

看起来您甚至没有检查 canvas.getHeight() 返回的内容。请检查它,你就会知道为什么这条线不可见。另请注意,画布尺寸可能大于视图。你应该使用 View.getHeight()

于 2012-12-19T09:04:35.623 回答
0

默认 Canvas Constructor 的初始目标密度为DENSITY_NONE,因此图层大小设置为 0 - 0。您必须为画布设置 Desity,或从Display中获取屏幕的高度,或此 View.getHeight。这样我就明白了。

于 2012-12-19T09:38:25.077 回答