从英文顾名思义,就是每英寸的像素点数,数值越高当然显示越细腻。
dpi = 屏幕对角线上的像素点数/对角线的物理尺寸(inch)
dp (或dip density-independent) 旨在保证不同密度的屏幕上,显示的相对物理尺寸是一直的。举个例子。A和B是两款不同屏幕密度的手机,他们的物理尺寸(长和宽)一致,dp绘制图像,可以保证无论A和B的屏幕密度是多少,在A和B两款手机上显示的物理尺寸是一样的。
dp的官方说明:
简单来说,以160dpi的设备为准,该设备上1dp = 1px。如果屏幕密度大,1dip代表的px就多,比如在320dpi的屏幕上,1dip=2px(即1dp代表2个像素)
Android 项目res中有多个drawable文件夹,如下图,在6个drawable文件夹下分别放置了同一张icon
当我们使用资源id来去引用一张时,Android会使用一些规则来去帮我们匹配最适合的。
什么叫最适合的?
比如我的手机屏幕密度是xxhdpi,那么drawable-xxhdpi文件夹下的就是最适合的。当我引用android_logo这张图时,如果drawable-xxhdpi文件夹下有这张图就会优先被使用,并且这张是不会被缩放的。如果drawable-xxhdpi文件夹下没有这张图时, 系统就会自动去其它文件夹下找这张图了,优先会去更高密度的文件夹下找这张。我们当前的场景就是drawable-xxxhdpi文件夹,然后发现这里也没有android_logo这张图,接下来会尝试再找更高密度的文件夹,发现没有更高密度的了,这个时候会去drawable-nodpi文件夹找这张图,发现也没有,那么就会去更低密度的文件夹下面找,依次是drawable-xhdpi -> drawable-hdpi -> drawable-mdpi -> drawable-ldpi。
所以寻址过程如下:
dpi范围-密度 表格
每一种密度的dpi范围都有一个最大值,这个最大值之间的比例就是会被系统自动放大的比例。
假设手机的屏幕密度为320dpi,寻址ic_arrow的 目标选址文件夹为drawable-xhdpi(2倍图)
在第二节中 这对标准屏幕(屏幕密度为120、160、240、320、480、640的屏幕),drawable的寻址和放缩过程 我们基本清楚了。Android手机的屏幕千千万万,那些非标准密度的屏幕,的寻址和放缩规则也一样吗
答案是肯定的。
针对标准密度屏幕和非标准密度屏幕。
假设 系统密度为440dpi,系统最终选址命中的文件夹为drawable-xxhdpi(代表480dpi)
则命中的放缩倍数 = 440/480
假设drawable-xxhdpi中的宽度为143,则放缩之后宽度为143440/480=131
Google建议 为主流的机型尽量都做一套适配,这样UI显示效果最佳。
我没有找到2021年最新的统计数据,但找到了2018年的一份统计数据
统计数据显示 2018年主流的屏幕密度为xhdpi和xxhdpi,按照国内Android手机的更新换代频率推测,2021年 xxhpi应该已经成为主流的屏幕密度(480dpi)
我查看了微信、快手、今日头条、知乎等几款Android app,解压查看res文件夹下drawable适配情况,如下:
除了今日头条以xhdp为未主要适配对象,其他都重点适配了xxhdpi。
所以最终结论是:
https://wwwjianshucom/p/b3b67fd8aa24utm_campaign=hugo&utm_medium=reader_share&utm_content=note&utm_source=weixin-friends
https://blogcsdnnet/bencheng06/article/details/84582065
调整手机触摸灵敏度的方法:
1、打开手机设定-控制-调整触摸灵敏度-勾选。
2、打开手机设定-显示-调整触摸灵敏度-勾选。
3、打开手机设定-我的设备-显示-低触摸灵敏度-勾选。
4、注意:部分型号不支持增强触摸灵敏度功能。
欢迎分享,转载请注明来源:品搜搜测评网