我已经理解了dp和dpi在android中使用的不同布局和图像的概念。但我怀疑(对不起,如果愚蠢)是为什么android提出密度像素,密度独立像素的概念而不是像html中的百分比。开发人员越来越难了。
答案 0 :(得分:3)
由于支持多个屏幕,android引入了这个dp和dip概念
dp或dip
来自Android Documentation for Supporting Multiple Screens:
与密度无关的像素 - 基于屏幕物理密度的抽象单位。这些单位相对于 160 dpi 屏幕,因此一个dp是 160 dpi 屏幕上的一个像素。
使用dp:
密度独立性 - 当您的应用程序保留物理大小(来自用户的)时,您的应用程序实现“密度独立性” 在屏幕上显示的用户界面元素的观点) 密度不同。 (即)图像看起来应该相同 (不放大或缩小)在不同类型的屏幕中。
与密度无关的像素是您在定义UI布局时应使用的虚拟像素单元,用于表示布局尺寸或位置 以密度无关的方式。
与密度无关的像素相当于一个物理像素 在 160 dpi 屏幕上,这是基线密度 用于“中等”密度屏幕的系统。在运行时,系统 根据需要透明地处理dp单元的任何缩放 关于使用中的屏幕的实际密度。
dp
的转换 屏幕pixels
的单位很简单: px = dp *(dpi / 160)。例如,在
240 dpi
屏幕上1 dp equals 1.5 physical pixels
。 在定义应用程序的UI时,应始终使用dp
单位, 确保在不同的屏幕上正确显示您的UI 密度