Android 屏幕适配↑

本文详细介绍了Android屏幕适配的相关概念,包括像素密度、分辨率、屏幕密度和如何加载不同的drawable资源。通过理解屏幕尺寸、像素密度和分辨率的关系,以及Android系统如何选择合适的资源,开发者可以更好地实现应用的屏幕适配,确保在不同设备上展示效果的一致性。同时,文中还提供了防止系统字体变化和显示大小变化影响显示的方法。

1.屏幕分辨率、像素密度、屏幕密度

①屏幕分辨率

分辨率是手机屏幕的像素点总数,一般用屏幕宽的像素点数乘以屏幕高的像素点数。分辨率越大屏幕越细腻,能够显示的细节就越多。

常用的分辨率有320x240、640x480、1280x720、1280x960、1080x1920、2560x1440等,单位是像素。比如1080x1920表示屏幕宽度方向上有1080个像素,屏幕高度方向上有1920个像素。

获取屏幕分辨率的方法:

int screenWidth = getWindowManager().getDefaultDisplay().getWidth(); 

int screenHeight = getWindowManager().getDefaultDisplay().getHeight(); 

②屏幕大小

屏幕大小指的是手机对角线的物理尺寸,以英寸(inch)为单位。英寸为国外的长度单位,换算为国内的单位为:1英寸 = 2.54厘米。

一般手机尺寸有4英寸、4.5英寸、5.0英寸、5.2英寸、5.4英寸、5.99英寸、6.0英寸、6.2英寸等。

像素密度densityDpi

像素密度(dpi,dots per inch;或PPI,pixels per inch)指每英寸的屏幕中包含的像素数量。数值越高显示越细腻

假如一部手机的分辨率是1080*1920,屏幕大小是5英寸,这时可以计算出此屏幕的像素密度:通过宽1080和高1920,根据勾股定理得出对角线的像素数大约是2203,然后用2203除以5就是此屏幕的密度了。

比如像素密度是160,就表示每英寸屏幕中的像素点有160个,也就是说真实手机屏幕上,每2.54厘米就包含有160个像素点在里面,当然了,量长度还可以,像素点是看不见的,因为像素点非常非常的小。dpi为480的手机理论上要比dpi为160的手机清晰很多很多,因为同样1英寸的屏幕大小,一个手机可以使用480个像素点来显示图像,一个只能用160个像素点来显示图像,效果肯定是差很多的。

dpi和密度的对应关系:

            dpi范围               密度

         0dpi-120dpi            ldpi

        120dpi-160dpi       mdpi

        160dpi-240dpi        hdpi

        240dpi-320dpi        xhdpi

        320dpi-480dpi        xxhdpi

        480dpi-640dpi       xxxhdpi

屏幕密度density

屏幕密度其实是像素密度的另外一种表示,是以160dpi=1.0为基准的。手机出厂之后屏幕密度,包括X,Y轴方向的像素密度都是固定值。

android以像素密度160dpi为基准对屏幕进行划分,当像素密度为160dpi时屏幕密度为1.0,像素密度为120dpi时屏幕密度为0.75,像素密度为320dpi时屏幕密度为2.0。

因此屏幕密度可以理解为密度的比例,也可以理解为dp换算为像素的比例(即1个dp等于几个像素)。标准的屏幕密度为160,它的密度比例就是1,即1个dp就等于1个像素。如果手机的像素密度densityDpi为320,则它是标准屏幕密度的两倍(320 / 160 = 2),则density = 2,表示1个dp就等于2个像素。举个例子,比如手机的像素密度densityDpi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值