需求
计量单位
px (Pixels): 其实就是像素单位,是屏幕上最小可见的单元,比如我们通常说的手机分辨列表800*400都是px的单位(px 的单位是 像素,dpi 的单位是 像素/英寸)
sp : 同dp相似,还会根据用户的字体大小偏好来缩放
dp (Device Independent Pixels(设备独立像素)): 虚拟像素,屏幕无关的像素单位,在不同的像素密度的设备上会自动适配,以确保在不同屏幕上显示的大小相对一致。
dip: 同dp
dpi(Dots Per Inch):是指每英寸的像素点数,DPI值越高,图像越清晰,像素密度越大。
mm(Millimeters):毫米是一种度量长度的单位,它代表屏幕上的实际物理长度。
pt(Points):点是一种用于印刷和排版的单位,通常用于描述字体的大小。
计算公式
- dp转换成px:px = dp * (屏幕的像素密度 / 160)
- px转换成dp:dp = px / (屏幕的像素密度 / 160)
- mm转换成px:px = mm * (屏幕的像素密度 / 25.4)
- px转换成mm:mm = px / (屏幕的像素密度 / 25.4)
- pt转换成px:px = pt * (屏幕的像素密度 / 72)
- px转换成pt:pt = px / (屏幕的像素密度 / 72)
Android 屏幕适配之框架(AndroidAutoSize)(今日头条)适配
github地址
AndroidAutoSize的使用
- .添加Gradle配置
添加AndroidManifest配置
<application
<meta-data
android:name="design_width_in_dp"
android:value="240"/>
<meta-data
android:name="design_height_in_dp"
android:value="284"/>
</application>
现在就可以在布局文件中直接使用dp了,会自动适配屏幕分辨率