概念
px
物理像素点,经常说的分辨率的单位就是px
dpi
屏幕密度,即每英寸的像素个数,一英寸等于2.54厘米
其中为屏幕的分辨率,单位为px;为屏幕对角线长度,单位为英寸
density
屏幕密度比例,与标准屏幕(即dpi=160)的比例
dp
虚拟像素点
实现原理
只设计一份dimens.xml
,不同机型通过调整缩放比例来保持一致
关键在于通过context.getResources().getDisplayMetrics()
来获取设备dpi
和density
信息,
然后在Application,activity
的create()
的方法中设置这些信息,此外,当 Activity
横屏旋转时,可以通过加入一个空白的Fragment
来监听并更改Activity
的屏幕密度.