我有一个主要问题,我现在正在工作数天。首先看需求是很容易理解的。我将在下面的表格中尽可能简单地列出我的要求。Android图形:绘制相同大小的圆圈
- 我有5个Android手机。 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
等我也试过scalling
选项可用于ImageView
。还尝试在drawable-nodpi
文件夹中放置相同的图像。尝试创建所有尺寸的可绘制文件夹(例如:drawable-mdpi,drawable-hdpi)。这不会阻止缩放图像。 - 使用画布 - 如上所述,我尝试使用画布和绘制图像。绘图比例。
- 查找每英寸的像素数 .-尝试每英寸寻找每英寸的手机编程思维我可以找到一种方法来从它开发出一个逻辑动态地绘制相同大小的图像。我使用了几个链接,包括 - Calculate PPI of Android Device。他们中的大多数人都只谈论获得屏幕分辨率。
如何满足绘制相同大小圆圈的要求?如果可以通过了解PPI来完成,我该怎么做?
那么上面的代码是为了什么呢? –
其变化的整数的数量为COMPLEX_UNIT_MM(毫米)到像素(总是)。 – snachmsm
我的意思是每英寸像素数? –