adroid屏幕适配方案整理

屏幕适配相关介绍:

在学习绍文大神写的Android开发高手课时,在拓展看到了一些关于Android屏幕适配写的很好的文章,收益匪浅,故整理收集下来。

  1. 今日头条适配方案:https://mp.weixin.qq.com/s?__biz=MzI1MzYzMjE0MQ==&mid=2247484502&idx=2&sn=a60ea223de4171dd2022bc2c71e09351&scene=21
  2. 高人对今日头条讲解:https://mp.weixin.qq.com/s/oSBUA7QKMWZURm1AHMyubA
  3. smallestWidth 限定符适配方案:https://mp.weixin.qq.com/s?__biz=MzAxMTI4MTkwNQ==&mid=2650826381&idx=1&sn=5b71b7f1654b04a55fca25b0e90a4433&chksm=80b7b213b7c03b0598f6014bfa2f7de12e1f32ca9f7b7fc49a2cf0f96440e4a7897d45c788fb&scene=21#wechat_redirect

牛人根据今日头条写的开源框架:https://github.com/JessYanCoding/AndroidAutoSize

android屏幕的基础知识:

假设一个设备的屏幕分辨率是1080*1920,5寸屏,我们设定:

  • 屏幕宽:w=1080
  • 屏幕长:h=1920
  • 屏幕尺寸:size=5

设备dpi=
d p i = w 2 + h 2 s i z e dpi=\frac{\sqrt{w^2+ h^2}}{size} dpi=sizew2+h2
160是Android官方规定的一个基准dpi,但dpi=160时1px=1dp。设备density=
d e n s i t y = d p i 160 density=\frac{dpi}{160} density=160dpi
dp换算成px=
p x = d p × d e n s i t y px=dp\times density px=dp×density

android图片加载的缩放规则:

Android开发中用到的图片资源一般根据适配的屏幕密度(dpi)放入对应的drawable或mipmap文件夹,先来看下屏幕密度与文件夹命名的对应关系

dpi文件夹命名
120ldpi
160mdpi
240hdpi
320xhdpi
480xxhdpi
640xxxhdpi

如图
在这里插入图片描述
上面什么意思呢?假如UI设计稿是以320dpi设计的一张图片宽=50px,图片资源放在mipmap-xhdpi,那么对于dpi=320的设备的显示效果就和设计稿一样。

如果要适配dpi=480的设备,那么放在mipmap-xxhdpi文件夹对应的图片宽=480/320*50px

如果app只适配了一套资源即只在mipmap-xhdpi文件夹中有图片,然后运行在一个dpi=480的设备,那么对应的图片就会放大480/320=1.5倍显示;如果运行在一个dpi=160的设备,那么对应的图片就会缩小320/160=2倍显示。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值