安卓适配的面试题

本文探讨了Android开发中的UI适配问题,包括px与dp的转换、dpi与ppi的区别以及适配策略。通过解答面试题,阐述了dp适配、宽高限定符适配以及今日头条的适配方案。强调了理解屏幕尺寸、像素密度和分辨率的关系对实现良好适配的重要性,并提到了SW限定符和自定义density的适配方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先抛出几个面试题:

1.在Android 开发的时候,对于 UI 稿的 px 是如何适配的?

答案:把 px 转化成 dp 在进行适配,在安卓中官方是这样定义dp 的 dp = dip/160, dip 是像素密度,不同分辨率下 dpi 是不一样的

dpi:屏幕像素密度,指的是在系统软件上指定的单位尺寸的像素数量,它往往是写在系统出厂配置文件的一个固定值;

ppi:也是屏幕像素密度,但这个是物理上的概念,它是客观存在的不会改变。dpi是软件参考了物理像素密度后,人为指定的一个值,这样保证了某一个区间内的物理像素密度在软件上都使用同一个值;

dp加上自适应布局和weight比例布局能解决90%的适配问题。因为并不是所有的1080P的手机dpi都是480,比如Google 的Pixel2(1920*1080)的dpi是420;

宽高限定符适配

宽高限定符适配:穷举市面上所有的Android手机的宽高像素值,设定一个基准的分辨率,其他分辨率都根据这个基准分辨率来计算,在不同的尺寸文件夹内部,根据该尺寸编写对应的dimens文件。但其有一个致命的缺陷,那就是需要精准命中才能适配,App包体积也会变大

 

今日头条适配: https://juejin.im/post/5b7a29736fb9a019d53e7ee2

原理:通过修改density值,强行把所有不同尺寸分辨率的手机的宽度dp值改成一个统一的值,这样就解决了所有的适配问题。

SW限定符:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值