【发布时间】:2016-05-06 08:02:20
【问题描述】:
我有一个重大问题正在处理好几天。首先看需求是可以理解的。我将在下面的点表中尽可能简单地列出我的要求。
- 我有 5 部安卓手机。 5 个不同的品牌,不同的屏幕尺寸。
- 假设屏幕尺寸为 4 英寸、4.5 英寸、5 英寸、5.1 英寸和 5.2 英寸
- 我有一个 android 应用,它有一个绘图画布。
- 现在使用
canvas.drawCircle(x / 2, y / 2, radius, paint)我正在画一个圆圈。想象一下半径是 100(100 像素?) - 我在我最小的屏幕手机 4 英寸中安装了这个应用程序。然后我用尺子测量圆的直径。想象一下圆的直径是“精确”3 厘米。
- 现在我将它安装在我的其他手机中。
- 不幸的是,在我的 4.5 英寸手机中,圆的直径是 3.2 厘米。在 5 英寸手机中为 3.3 厘米。在 5.1 英寸手机中是 2.8 厘米等等。
- 但是我希望每部手机的圆直径都为 3 厘米(精确到 3 厘米)。
我已经尝试了好几天了。我尝试了以下方法以确保我得到一个在所有屏幕上都没有大小变化的圆圈。
-
使用
ImageView- 我尝试使用ImageView并添加了一个圆形图像。我已经给定了宽度,高度。我尝试在px、dp、inches等中设置值。我还尝试了可用于ImageView的scalling选项。还尝试将相同的图像放在drawable-nodpi文件夹中。尝试为所有尺寸创建可绘制文件夹(例如:drawable-mdpi、drawable-hdpi)。这些都不会阻止图像缩放。 - 使用画布 - 如上所述,我尝试使用画布并绘制图像。绘图比例。
- 查找每英寸像素。- 尝试以编程方式查找每部手机的每英寸像素,我认为我可以找到一种方法来开发逻辑以动态绘制相同大小的图像。我使用了几个链接,包括 - Calculate PPI of Android Device。他们中的大多数人只谈论获得屏幕分辨率。
我怎样才能满足绘制相同大小圆圈的要求?如果知道PPI就可以做到,我该怎么做呢?
【问题讨论】: