手机的屏幕使用点来表示。例如,手机分辨率为720×1280,代表

  • 分辨率为720×1280:宽为720个点,高为1280个点。
  • dpi为320:每英寸物理屏幕上的点个数为320个点。

160dpi的手机每英寸有160个点,320dpi的手机每英寸有320个点。于是,320dpi的每个点的尺寸是160dpi每个点的一半。即320dpi的设备,每个点的尺寸更小。
于是,一个5寸的160dpi手机宽为360个点,则5寸的320dpi手机宽就有720个点。
也就是说,若物理尺寸相同,则dpi增大,意味着分辨率(点数)要对应增大。

有两个手机:

  1. 手机A:屏幕为160dpi,物理尺寸为5寸。分辨率宽为360点。
  2. 手机B:屏幕为320dpi,物理尺寸为5寸。分辨率宽为720点。

一张图片,在手机A上宽为36点。于是该图片占用屏幕比例为10%。
在手机B上显示,为了效果相同,则必须占用屏幕比例也为10%。于是在手机B上宽为720×10%=72。也就是72个点。
为了开发时统一,定义一个单位dp:屏幕为160dpi时,1个点就是1dp。
当屏幕为320dpi时,320/160=2,即2个点为1dp。
这样,将上面图片的宽设为72dp,在手机A和手机B上显示,所占屏幕比例都是10%。

因此,已知手机的分辨率为W×H,dpi为D,则:

  • 1dp所占点数 = D/160
  • 屏幕宽dp数 = W/1dp所占点数

例:已知手机的分辨率为540×960,dpi为240,则:

  • 1dp所占点数 = 240/160 = 1.5个点
  • 屏幕宽dp数 = 540/1.5 = 360dp

所以,屏幕宽度有360个dp。此时将一张图片设宽度为72dp,则该图片占屏幕宽度为20%。

flutter的大小单位默认为dp。

flutter大小单位:dp相关推荐

  1. Flutter 大小单位详解

    关于Flutter 大小所使用的单位,官方文档没有给出非常明确的解释,因此一直存在模糊的说法,许多从事安卓开发者直接将之解释为安卓开发所用的单位dp,我认为这是非常不明智且不准确的说法,这个不准确不在 ...

  2. Flutter尺寸单位与适配

    在实际开发的过程中,我们经常需要固定某个Widget的宽度或高度,这时我发现我该给什么值呢?不同的设备上显示结果是什么呢?带着这个问题我开始了这篇文章. 1. 官网 竟然没有. 我不知道是不是我没找到 ...

  3. Android 屏幕适配攻略(三)单位dp与sp

    Android 屏幕适配攻略(三)单位dp与sp 1 一般手机默认使用情况下 在安卓中,一般情况下,也就是正常使用情况下 屏幕密度 对应的标签 对应的像素 sp 120dip ldpi 1dp= 0. ...

  4. Android 屏幕适配攻略(二)单位dp与px来表示控件的尺寸

    Android 屏幕适配攻略(二)单位dp与px来表示控件的尺寸 在安卓中,将屏幕密度分为了五类 屏幕密度 对应的标签 对应的像素 120dip ldpi 1dp= 0.75px 160dip mdp ...

  5. Android大小单位转换工具类

    package com.utouu.im.util; /**  * Android大小单位转换工具类  *   *   */ public class DisplayUtil { /** * 将px值 ...

  6. 我们知道计算机的大小单位有 B, KB, MB 等,现在请你编写一个计算器进行大小单位换算。Java洛谷传智杯

    题目描述: 我们知道计算机的大小单位有 B, KB, MB 等,现在请你编写一个计算器进行大小单位换算. 输入格式:输入一个字符串,由一个 0 到 1023 之间的整数,一个单位名称(大写字母),一个 ...

  7. css中的单位换算_css大小单位px em rem的转换和详解

    css大小单位px em rem的转换和详解 PX特点 1. IE无法调整那些使用px作为单位的字体大小: 2. 国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位: 3. Firef ...

  8. 内存容量大小单位转换

    内存容量大小单位转换 B(Byte): 1Byte 等于 8bit KB: 1KB等于1024B MB: 1MB等于1024KB GB: 1GB等于1024MB TB: 1TB等于1024GB PB: ...

  9. 图片大小以及dp和px关系一览表,logo尺寸

    图片大小以及dp和px关系一览表 说明:根据上表,我们应该很容易算出一张图片在不同手机上的宽和高是多少. 结论 从上表可以得出如下结论 1. 图片放在drawable中,等同于放在drawable-m ...

  10. html vh和百分比,css中height 100vh的应用场景,动态高度百分比布局,浏览器视区大小单位...

    css中height 100vh的应用场景,动态高度百分比布局,浏览器视区大小单位 height:100vh 一些只能vw, vh才能完成的应用场景: 1. 场景之:元素的尺寸限制 vw vh 主要是 ...

最新文章

  1. 读书笔记 | 墨菲定律
  2. C++中文转码问题(GB2312 - UTF8)
  3. 使用未初始化的内存是什么意思_单根内存条的极限容量是多少?内存条上的2R X 8代表了什么意思?...
  4. 利用SAP Cloud Platform control center给global账号分配服务
  5. Single Image Haze Removal(图像去雾)-CVPR’09 Best Paper
  6. leetcode - 1223. 掷骰子模拟
  7. linux 系统让服务后台运行
  8. java怎么把弹框设置为圆角_自定义圆角Dialog
  9. 如何将c语言编译器设置为初始状态,C语言编译器设与实现毕业论文设计.doc
  10. 李开复、张亚勤、吴恩达…国际大咖给你讲解AI知识
  11. IP通信基础 3月6日
  12. Xen和KVM的guest主机热添加硬盘
  13. win10-linux双系统安装教程
  14. Bypass个人原创文章汇总
  15. 有关人工智能方面的调研报告
  16. 动态电路中的动态元件——电容和电感
  17. 超阅读:数码时代的文本变革
  18. 工具分享(3):使用Java Swing开发圆形/椭圆公章、私章图片(内附源码)
  19. Python 为图片和 PDF 上去掉水印,超简单快来学!
  20. 学习win32汇编指令:lea和offset

热门文章

  1. vue请求axio的使用详解
  2. 以管理员身份打开cmd窗口
  3. Swarm创始人:强调BZZ主网上线不需要质押
  4. python作排产计划_排产计划表
  5. 接口先决条件失败412
  6. h264参数动态调整
  7. 三角函数逼近锯齿函数和阶梯函数
  8. c语言编程求阶梯数,c语言编程阶梯教程十二
  9. USB大容量存储设备禁用后恢复不了问题解决方案
  10. Word批量替换勾选框