【发布时间】:2014-03-12 14:27:51
【问题描述】:
我正在尝试为 android 编写应用程序。
因此,我有一个 SurfaceView 类来绘制所有对象。
现在,例如,当我画一个圆时,我必须指定一个大小。
有没有办法根据屏幕分辨率和密度的大小来制作这个尺寸?
因为我在画圆时,我希望它在低分辨率设备上的大小与在高分辨率设备上的大小相同。
当绘制一个半径为 50px 的圆时,它在小屏幕上会比在大屏幕上更大。
有什么想法吗?
编辑: 我知道在创建一些布局时我可以使用密度像素。但我不是在处理布局,我是在表面视图之上绘制的。绘制类似的东西时
canvas.drawCircle(x, y, size, paint);
size 以像素为单位声明半径。 有没有办法将像素转换为密度像素?有什么方法或者类似的吗?
提前致谢
【问题讨论】:
-
您并不真正希望它是相同的大小,而是相同的方面。因为如果尺寸是固定的 (px),那么您就会遇到密度问题,正如您自己注意到的那样。
-
使用密度像素,而不仅仅是像素
-
问题是在尝试绘制例如球体时,它要求我提供精确的坐标和半径。当我输入 canvas.drawCircle();它必须是作为半径的浮点数。将其声明为 5 时,它将具有 5 个像素的半径,而不是密度像素。如何在代码中将像素转换为密度像素?
-
@fadden:去检查一下,谢谢!
标签: android resolution scaling screen-resolution