3 Android/IOS 屏幕适配: dp/sp 与 pt

 1 Android 尺寸适配: 【dp sp ->px 到 pt->px 】
常用的dp sp 来定义尺寸
dp: 虚拟像素,在不同机器上自动适配
 公式:dp * densityDpi /160 = px   
 我们的 densityDpi 像素密度,比如160 320等 
 我们用dp 描述宽高,用sp 描述字体(因为Android手机改变字体后,sp才会变化)
 dp sp 类似,均和densityDpi 像素密度相关
 所以,大部分时候我们用dp sp 来处理Android的布局
 但是dp 和px 均是抽象概念,同样5.5英寸的手机,对于高密度屏幕手机和低密度屏幕手机
 在同样10dp宽度,px有差异,视觉上也有差异。
 所以这时,我们需要增加配置 xhdpi / xxhdpi 等分辨率的尺寸dimen
 
暴力的pt尺寸
https://github.com/Firedamp/Rudeness
pt: point 即物理点,每一英寸72个点
【pt = px * xdpi / 72】
Rudeness 方案就是假设有一个720pt 宽的屏幕,等于是10英寸宽(创建屏幕预览)
【关键是改变 DisplayMetrics 中的 xdpi 】  xdpi 表示每英寸的像素点
也就是上面公式中这个因子xdpi  改变xdpi = width(屏宽像素值)/720 * 72;
我们代入上面的公式  pt = px * width(屏宽像素值) / 720;
也就是每设置 720 pt 中的 1 pt,  等于设置了 屏宽 的1px  ,恰好匹配上设计图中的 px
例如 720*1280   设置因子之前,1pt ~~ 4px   设置以后 1pt = 1px
oppo A57 横向 720px  = 横向2.5英寸 = 180pt  = 72*2.5 


2 IOS
开发尺寸是 pt
iphone6 375pt * 667pt  屏幕分辨率   750x1334 px
ppi 326 的使用 @2x 下的图片
ppi 401 的使用 @3x 下的图片

Iphone 我目前是一个pt 解决所有  默认iphone6的 375  然后是适配7plus 414  和SE 320
以375 为标准,等比缩放,KSize(x)    ((x)*kScreenWidth/ 375.0f)
iphone6  横向750px  =横向 2.3  英寸  =    375pt  = 163*2.3

Android pt 和 IOS pt 似乎两个概念?
Android   1pt =  1/72 英寸    (一般标准)

IOS          1pt = 1/163英寸  (IOS就是这么任性?)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程俊锋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值