Android设备的屏幕尺寸千差万别,屏幕适配是Android开发中很重要的一部分。本文介绍和总结了屏幕适配中常遇到的一些问题,使得屏幕适配不再是问题。
px
pixel的缩写,屏幕上的像素点。都是整数,不可能出现0.5px的情况。
in
inch的缩写。1 inch = 2.54cm。平时所说的手机屏幕尺寸,指的是屏幕对角线的长度。
dpi
Dots Per Inch的缩写。每英寸包含的像素个数。
dp
Device independent pixels的缩写,设备独立像素,即dip。Android特有的单位,在屏幕密度dpi = 160屏幕上,1dp = 1px。
sp
和dp很类似,一般用来设置字体大小,和dp的区别是它可以根据用户的字体大小偏好来缩放。
新建一个Android项目后应该可以看到很多drawable文件夹,分别对应不同的dpi
drawable-ldpi (dpi=120, density=0.75)
drawable-mdpi (dpi=160, density=1)
drawable-hdpi (dpi=240, density=1.5)
drawable-xhdpi (dpi=320, density=2)
drawable-xxhdpi (dpi=480, density=3)
Android 会自动根据屏幕尺寸选择对应的资源文件进行渲染,比如你手机dpi是160的话会优先到drawable-mdpi文件夹下找对应的图片资源,注意只是优先,假设你手机dpi是160,但是你只在xhpdi文件夹下有对应的图片资源文件,程序一样可以正常运行。所以只需要准备一个大dpi的图片就可以了。xxdpi成为首选。
掌握了以上的知识点,相信大部分的屏幕适配问题都可以解决了。