名词

解释

Px

(Pixel像素)

不同设备显示效果相同。这里的“相同”是指像素数不会变,比如指定UI长度是100px,那不管分辨率是多少UI长度都是100px。也正是因为如此才造成了UI在小分辨率设备上被放大而失真,在大分辨率上被缩小。

Screen Size

(屏幕尺寸)

一般所说的手机屏幕大小如1.6英寸、1.9英寸、2.2英寸,都是指的对角线的长度,而不是手机面积。我们可以根据勾股定理获取手机的宽和长,当然还有面积。

Resolution

(分辨率)

指手机屏幕垂直和水平方向上的像素个数。比如分辨率是480*320,则指设备垂直方向有480个像素点,水平方向有320个像素点。

Dpi

(dots per inch

像素密度)

指每英寸中的像素数。如160dpi指手机水平或垂直方向上每英寸距离有160个像素点。假定设备分辨率为320*240,屏幕长2英寸宽1.5英寸,dpi=320/2=240/1.5=160

注意:该值对应于DisplayMetrics类中属性densityDpi的值。具体请参考http://www.cnblogs.com/wader2011/archive/2011/11/28/2266669.html

Density

(密度)

指每平方英寸中的像素数。

Density=Resolution/Screen size

注意:在DisplayMetrics类中属性density的值为dpi/160,可用于px与dip的互相转换。具体请参考http://www.cnblogs.com/wader2011/archive/2011/11/28/2266684.html

Dip

(Device-independent pixel,设备独立像素)

同dp,可作长度单位,不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。dip和具体像素值的对应公式是dip值 =设备密度/160* pixel值,可以看出在dpi(像素密度)为160dpi的设备上1px=1dip

Sp

(ScaledPixels

放大像素)

主要用于字体显示(best for textsize)。根据 google 的建议,TextView 的字号最好使用 sp 做单位,而且查看TextView的源码可知 Android 默认使用 sp 作为字号单位。

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》浏览器打开:qq.cn.hn/FTe 免费领取

我们可以用下面的思路来解释为什么用dip代替px作单位:

  1. 设备最终会以px作为长度单位。

  2. 如果我们直接用px作为单位会造成UI在不同分辨率设备上出现不合适的缩放。因此我们需要一种新的单位,这种单位要最终能够以合适的系数换算成px使UI表现出合适的大小。

  3. Dip符合这种要求吗?

由dip和具体像素值的对应公式dip值 =设备密度/160* pixel值 可以知

**pixel值=dip值/(设备密度/160),**其中dip值是我们指定的长度大小,那么pixel值,160也是定植,也就是说UI最终的pixel值只受像素密度dip的影响,这个dip就相当于那个换算系数,这个系数的值是多少有设备商去决定。因此dip符合这种要求。

术语

说明

备注

Screen size(屏幕尺寸)

指的是手机实际的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸

摩托罗拉milestone手机是3.7英寸

苹果手机是3.5 inch

Aspect Ratio(宽高比率)

指的是实际的物理尺寸宽高比率,分为long和nolong

Milestone是16:9,属于long

Resolution(分辨率)

和电脑的分辨率概念一样,指手机屏幕纵、横方向像素个数

Milestone是854*480

DPI(dot per inch)

每英寸像素数,如120dpi,160dpi等,假设QVGA(320*240)分辨率的屏幕物理尺寸是(2英寸*1.5英寸),dpi=160

可以反映屏幕的清晰度,用于缩放UI的

Density(密度)

屏幕里像素值浓度,resolution/Screen size可以反映出手机密度,

Density-independent pixel (dip)

指的是辑逻密度计算单位,dip和具体像素值的对应公式是dip/pixel=dpi值/160,也就是px = dp * (dpi / 160)

2. DPI值计算

比如:计算WVGA(800*480)分辨率,3.7英寸的密度DPI,如图1所示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NcgJKWif-1636562255467)(http://hi.csdn.net/attachment/201011/22/0_1290441623xXWW.gif)]

图1

Diagonal pixel表示对角线的像素值(=[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ELSm0EEl-1636562255499)(http://hi.csdn.net/attachment/201011/22/0_1290442711yV9k.gif)]),DPI=933/3.7=252

3.手机屏幕的分类

3.1根据手机屏幕密度(DPI)或屏幕尺寸大小分为以下3类,如图2所示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fu0A9Sox-1636562255499)(http://hi.csdn.net/attachment/201011/22/0_1290441613DjKD.gif)]

图2

3. 2手机屏幕分类和像素密度的对应关系如表1所示:

Low density (120), ldpi

Medium density (160), mdpi

High density (240), hdpi

Small screen

QVGA (240x320)

Normal screen

WQVGA400 (240x400)WQVGA432 (240x432)

HVGA (320x480)

WVGA800 (480x800)WVGA854 (480x854)

Large screen

WVGA800* (480x800)WVGA854* (480x854)

00* (480x800)WVGA854* (480x854)

Android手机分辨率基础知识(DPI,DIP计算),字节跳动算法工程师总结相关推荐

  1. Android手机分辨率基础知识(DPI,DIP计算)(转)

    1. 术语和概念 术语 说明 备注 Screen size(屏幕尺寸) 指的是手机实际的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸 摩托罗拉milestone手机是3.7英寸 ...

  2. 手机分辨率基础知识(DPI,DIP计算)

    手机分辨率基础知识(DPI,DIP计算) 1.术语和概念 术语 说明 备注 Screen size(屏幕尺寸) 指的是手机实际的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸 摩托 ...

  3. 【Vue基础知识总结 6,字节跳动内部学习资料泄露

    <script src="vue.min.js"></script><script src="axios.min.js">& ...

  4. Android技能树 — 树基础知识小结(一)

    前言: 现在安卓面试,对于数据结构的问题也越来越多了,也经常看到别人发的面试题都是问什么红黑树,二叉树查找等,所以我们虽然不会马上就会各种难的面试题,但起码树的基础知识还是要会的,这样才能去进一步学. ...

  5. 【最新】Android 手机分辨率整理(做屏幕适配的拿走)

    Android 手机分辨率: 320x480    320x400 480x800    480x854 540x960 600x1024 720x1184    720x1196    720x12 ...

  6. android手机分辨率适配,Android屏幕适配(一)

    为什么要屏幕适配 由于Android系统的开放性,任何用户.开发者.OEM厂商.运营商都可以对Android进行定制,于是导致运行 Android 的设备多种多样,它们有着不同的屏幕尺寸和像素密度. ...

  7. Android 系统 wifi基础知识

    第3章 Wi-Fi基础知识 本章所涉及的源代码文件名及位置 ·wireless.h external/ kernel-headers/ original/ linux/ wireless.h ·dri ...

  8. Android录音-音频基础知识

    音频基础知识 文章目录 音频基础知识 一.采样率 二.采样位深 三.比特率 四.声道(单声道.双声道) 五.PCM元数据 音频基本概念:采样率.采样位深.比特率.声道.PCM 一.采样率 采样率(也称 ...

  9. Android技能树 — 树基础知识小结(一),kotlin开源项目

    根据上面的基础知识我画了一个归总的图(这样我就不需要写文字介绍了,啊哈哈): [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zd87TfMP-1637304075403 ...

最新文章

  1. GROMACS运行参数之md.mdp文件详解
  2. 网站优化之如何辨别关键词的相关性?
  3. Windows 2008 R2终端服务器安装配置 支持声卡
  4. 【Weiss】【第03章】练习3.20:中缀表达式转后缀表达式
  5. C和汇编混合编程--------函数调用后ebp、esp值问题
  6. 中文域名销售平台_中国开关网.商城被搭建为南京某公司官网,这样的域名你喜欢吗?...
  7. java宠物健康值_宠物健康微手册:成年篇
  8. android webview调js方法,Android中WebView与H5的交互,Native与JS方法互调
  9. HTML5 DOM File API 转)
  10. mysql 游标插入数据_mysql游标插入问题
  11. ubuntu下载对应版本的linux内核源码
  12. Eclipse的环境变量如何配置和为什么要配置环境变量?
  13. ora257 linux,ORA-00257解决
  14. java 微信 源码_java微信支付功能实现源码
  15. python将word文档转图片_如何将word文档转换为图片
  16. Scala中名词的解释
  17. NoSQLBooster for MongoDB软件使用
  18. SEM数据该如何分析?
  19. 十大python开发软件-介绍6款实用的python编程开发工具
  20. c中宏定义的特殊符号

热门文章

  1. 什么是端口,怎样查看端口,关闭/开启端口,各种端口的作用
  2. SURGE 浪涌抗扰度
  3. 轻量级网络论文精度笔记(三):《Searching for MobileNetV3》
  4. 银河麒麟项目经验记录1
  5. Android开发之Toast
  6. Python 桶排序
  7. WebSocket简单调用
  8. ar71xx php-fpm,【U-Boot】不死 U-Boot AR71XX 全系列 + AR2317
  9. hotspare的copyback(r7笔记第30天)
  10. 2016.12概率统计参考复习题