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