【发布时间】:2018-03-10 07:38:33
【问题描述】:
我一直在开发一个应用程序,在该应用程序中,drawables相对于显示器的宽度总是相同的尺寸,例如始终为屏幕高度的 1/8(以像素为单位)。我了解与密度无关的像素是如何工作的,但由于它们的目标是始终代表相同的 物理 尺寸,因此这与我所需要的几乎相反。我怎样才能做到这一点?我曾尝试使用具有非常高分辨率和相应缩小比例的 .png 文件,但它总是模糊不清,质量损失令人难以置信。 谢谢你的帮助,最好的问候。
【问题讨论】:
-
他们的目标是始终表示相同的物理尺寸 - 我认为你有倒退:“与设备无关的像素(也:与密度无关的像素,dip,dp ) 是基于计算机坐标系的物理测量单位,表示像素的抽象,供应用程序使用,然后底层系统将其转换为物理像素。”
-
计算设备显示的高度,除以8得到显示的1/8,用layout params将image view的高度改为计算的高度
-
但是这种方法仍然被认为是好的/最佳实践吗?我在谷歌开发者文档中阅读了有关支持多个屏幕的信息,应用程序不应该介意单个像素,而只考虑屏幕的密度和物理尺寸。不幸的是,我相信这对我来说并不是一个真正的选择。
标签: android user-interface android-drawable image-scaling density-independent-pixel