我的 Android 应用程序有需要在所有屏幕上准确测量的尺子,无论大小或密度如何。标尺是我通过设置为图像视图的可绘制资源BitmapFactory
。
我最初的方法是将位图设置为一个图像视图,其相对layout_width
值设置为固定的 50mm(底层 png 的精确宽度),其比例类型为FIT_CENTER
.
因为我发现 Android 的预缩放非常令人沮丧,所以我尝试通过android:anyDensity="true"
在清单中声明并结合使用BitmapFactory
option来禁用此过程inScaled = "false"
。
我使用的标尺位图是 320dpi png,所有尺寸均为 50 毫米宽。我的想法是提供一个高分辨率图像,该图像可以很容易地缩小到低密度屏幕上所需的确切宽度。
上述方法已在几乎所有经过 Beta 测试的设备上成功运行。但在 HTC Evo 4G 上,标尺显得太大。后者运行 Android 2.3.5 的设备是迄今为止唯一报告的失败。