画布坐标和屏幕坐标android之间的关系

时间:2016-02-21 11:23:16

标签: android android-canvas

屏幕的X和Y与画布的X和Y之间有什么关系。假设画布的高度是屏幕高度的一半,并且它的中心对齐。现在,我想绘制一些关于屏幕坐标的东西。我该怎么办?请帮忙

1 个答案:

答案 0 :(得分:0)

当您在onDraw方法中绘制canva时,它与您的视图相关。你无法超越自己的观点。例如,如果您的视图位于x = 0,y = 0,width = 50,height = 50的位置。如果您尝试在视图中绘制一条线,就像canva.drawline(25,0,100,0)那样它就会在您的视图中绘制一条从25x到50x的直线,它不会超出视图的限制。

告诉我你是否需要澄清;)。

编辑: 所以以你的例子为例: 如果您的视图位于200dp,100dp,50w,50h的位置。假设您想从屏幕的0x,0y轴到视图的边缘0x,0y轴绘制一条线。为此,您必须在宽度和高度上执行match_parent的自定义。然后你必须得到视图的x,y(view.getX(),view.getY())。在onDraw中你只需要这样做:

canvas.drawLine(0,0, myview.getX(), myview.getY(), paint);

你可以有类似的东西:

drawline