我们的应用程序有几种类型的小部件。它们都被画在方形画布上。它们是可拖动和可调整大小的。一些小部件很薄或很短,当它们靠近放置时,透明部分完全覆盖另一个小部件的可见部分,使得它们难以选择。
我需要移除透明部分并将小部件绘制到正确大小的背景上,而不需要额外的。由于某些原因,这比我预期的要困难。
有问题的窗口小部件示例。这是一个不同的小部件,但要说明它在方形背景上的方式。看看角落是如何圆润的?
将位图的大小调整为矩形,使角落拉伸,字体压扁/拉伸:
你知道如何防止这种情况吗?
答案 0 :(得分:1)
Yayyyy !!我想到了!
在onDraw(Canvas画布)中:
旧代码:
canvas.scale((float) width, (float) height);
新守则:
// Scale square, so nothing gets stretched or squished
canvas.scale((float) width, (float) width);
// Crops the canvas
canvas.clipRect(0f, 0f, 1f, .33f);
然后我确保我的所有作品仅使用画布的前1/3