flutter中 dp的理解

flutter中 dp的理解
手机屏幕是由像素点组成的。
例:iPhone 6 Plus 采用标准的 1920×1080分辨率屏幕
就是高1920个像素点,宽1080个像素点 排列成的长方形
dpi为单位英寸下有多少个像素点。即像素。所以相同大小屏幕下的dpi与分辨率成正比
dpi越大,像素比大,像素越多

ios长度单位是pt,安卓长度单位是dp。
flutter是跨平台的,所以为了适配多平台,用了属于自己的pd(和安卓dp设计思路一样,但不是一个东西)

flutter规定 1dp = 160dpi
所以已知 分辨率和dpi。就能知道屏幕dp总数。=> dp = 手机分辨率w/160。
1dp = 160个像素点组成的长度(不同pdi手机dp物理长度不一样)

例:已知手机的分辨率为540×960,dpi为240,则:
1dp所占点数 = 240/160 = 1.5个点
屏幕宽dp数 = 540/1.5 = 360dp
所以,屏幕宽度有360个dp。此时将一张图片设宽度为72dp,则该图片占屏幕宽度为20%

px逻辑像素就是像素点的大小。所以比例是一样的。
同样设计图整体宽高,和元素宽高比就能推算出flutter中所占有屏幕比

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值