Abh*_*ary 31 android android-layout android-canvas
我试图在画布上绘制一个矩形,我正面临麻烦,以了解Android的矩形绘制的深度.我已经阅读了教程和每一个可能但我被卡住了.
在图像中,红色矩形是我的目标.

无论任何矩形大小,我都需要在基座上方和矩形中间绘制红色矩形.我在这里遇到的最糟糕的噩梦是理解X,Y宽度和高度坐标.
任何人都可以解释数学如何工作,有时我们上升,Y达到非常小但相同的宽度坐标更高.并且我永远无法正确地证明红色内部矩形.在某些屏幕中,它在其他一些屏幕上运行良好.红色矩形有时会从父矩形中出来.
议程是了解坐标如何工作并确保内部红色矩形的完整性
根据一个例子得到一个解释会很棒.我在用-
void drawRect(float left, float top, float right, float bottom, Paint paint)
Run Code Online (Sandbox Code Playgroud)
绘制矩形
小智 36
canvas.drawRect(left,top,right,bottom,paint);
在这
left:矩形左侧与画布左侧的距离.
顶部:从画布顶部开始的矩形顶面的距离
The*_*101 23
这是有道理的.
float left = 100, top = 100; // basically (X1, Y1)
float right = left + 100; // width (distance from X1 to X2)
float bottom = top + 100; // height (distance from Y1 to Y2)
Run Code Online (Sandbox Code Playgroud)
从而
RectF myRectum = new RectF(left, top, right, bottom);
canvas.drawRect(myRectum, myPaint);
Run Code Online (Sandbox Code Playgroud)
mer*_*ica 16
X从左到右水平延伸.Y从上到下垂直运行.它与您的图形完全相同.所以(0/0)在左上角.
当你"向上"时,Y当然会变小,因为它从上到下逐渐增长.
你必须注意布局像ListViews这样的元素,这些元素会给你绘制的视图提供部分(或新的,你无法分辨的)画布.这些视图在其自己的顶部/左侧位置将具有0x0 .如果你需要绝对值,你必须View.getLocationOnScreen()自己调用并计算偏移量.
| 归档时间: |
|
| 查看次数: |
32889 次 |
| 最近记录: |