壁厚差了丝窗框就抖,像素差几点一样歪
师傅把游标卡尺往窗框上一卡,“壁厚1.8mm,国标GB/T 8478-2020要求1.6mm,多这两丝,台风天窗框不抖。”我脑子里还转着另一件事。甲方早上甩来一套APP设计稿,首页主图宽1080px,底部小字“按设计图等比适配”。项目经理催着问1080宽怎么转成开发要的尺寸。实物的壁厚闭着眼都能摸准,像素和dp那点弯弯绕,好多跟单员不敢接话。
下午钻进会议室,设计师把源文件投上大屏,标尺从上拉到下,间隔、按钮全按1080×1920画的。甲方货品经理指尖戳着登录页输入框:“这个框宽600px,扔手机上到底占多宽?”我没急着掏换算表,先问了一句:“这套图按几倍屏出的?”
1080宽的换算账,安卓和苹果不能混着算
设计师说默认1080宽,Android主流机型都这分辨率。行,这就好办了。1080物理像素的画板,在Android里对应xxhdpi,标准倍率3x,设计稿上的像素除以3就是dp值。600px宽的输入框一除,200dp。我顺手在纸上写:“1080÷3=360,整个画板换算成dp就是360dp。”360dp正好卡在绝大多数Android手机的逻辑宽度基准上,layout文件照着360dp约束,1080p屏幕上等比还原,不跑偏。
可这一套1080px搬去iOS,账不能照抄。同样1080×1920的设计稿,塞到iPhone 6/7/8 Plus上,物理分辨率是1080×1920没错,但苹果用Point坐标系,Plus机型走@3x渲染,逻辑分辨率是414×736点。也就是说,1080px宽的设计图,对应iOS是414pt,不是Android的360dp。不拆平台直接扔一套像素给iOS,布局整体偏窄,主按钮两边留白一下就多了。好几回验收,甲方指着屏幕问:“怎么iOS上这个间距跟效果图不一样?”
共用切图省成本,但间距适配的坑得提前挑明
我干脆摊开说:“采购帮盯进度,前提是换算基准得统一。”方案很简单:设计稿继续按1080宽出图,标注同时给px和dp值,dp全按“除以3”取整;iOS另出一版标注,核心控件宽高重新落到414点宽的坐标系里,数值不直接从dp抄。这是行业里一个妥协搞法——很少有项目肯为一套UI切两套图,多数只按1080输出一套3x的png,iOS和Android共用。省成本可以,但表格密、字段多的页面,差那几pt,换行截断就是家常便饭。
晚上对完点位验收表,我在项目沟通群里补了一条死规矩:设计稿1080宽的页面,dp一律拿px除以3,对应Android 360dp;iOS单独给一份414pt标注清单,关键控件宽高一个个对过去。这些东西直接写进验收条款,不搞“参考”那一套。数字物品的验收跟卡铝材壁厚一个路子——尺寸基准不拉平,后面贴多少补丁都补不齐。