参考链接:
Android 开发者->文档->指南->支持不同的像素密度

前言

Android 设备(手机、平板电脑、电视等)不仅有不同的屏幕尺寸,而且其屏幕也有不同的像素尺寸。也就是说,有可能一部设备的屏幕为每英寸 160 像素,而另一部设备的屏幕在相同的空间内可以容纳 480 像素。如果您不考虑像素密度的这些差异,系统可能会缩放图片(导致图片变模糊),或者图片可能会以完全错误的尺寸显示。

dpi

dpi是表示屏幕像素密度的单位,英文缩写是dots per inch,及正交方向上每英寸的像素点的个数。例如160dpi表示这种屏幕水平方向上一英寸内有160个像素点。

dp

要在密度不同的屏幕上保留界面的可见尺寸,必须使用密度无关像素 (dp) 作为度量单位来设计界面。dp 是一个虚拟像素单位,1 dp 约等于中密度屏幕(160dpi,“基准”密度)上的 1 像素。对于其他每个密度,Android 会将此值转换为相应的实际像素数。

sp

在定义文本大小时,应使用可缩放像素 (sp) 作为单位(但切勿将 sp 用于布局尺寸)。默认情况下,sp 单位与 dp 大小相同,但它会根据用户的首选文本大小来调整大小。

px

px是像素的单位,1个像素即为1px,px与dp的转换关系如下
px = dp * (dpi / 160)

mm

mm是标准长度单位,1英寸等于25.4mm,英寸和毫米和像素的转化关系如下
in = px/dpi
mm = px * 25.4 / dpi
dp与英寸和毫米的转化关系如下
in = dp /160
mm = 0.15875 * dp

dpi、dp、sp、px、mm之间的关系相关推荐

  1. android 尺寸转换 dp sp in mm pt px转换为int

    在android开发中,在自定义view中有些函数只接受int参数,而我们经常使用的尺寸单位是dp.sp这些,那如何将它们转换为int型呢? int spToInt=TypedValue.applyD ...

  2. android中的长度单位介绍(dp,sp,px,in,pt,mm)

    作为小白学习了一段时间的android,在学习过程中却一直有个疑问,在设置控件大小时面对这几个单位却不知如何选择,查找相关资料后了解了其含义,今天来分享下 dp或dip(device independ ...

  3. dp,sp,px相互转化

    方法一: public int sp2px(float sp) {return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, ...

  4. Android 获取屏幕宽度,dp,sp,px转换方法

    获取屏幕宽度 WindowManager wm = this.getWindowManager(); //this 指代当前的activity DisplayMetrics dm= new Displ ...

  5. android 字体像素转换工具类_android px,dp,sp大小转换工具

    package com.voole.playerlib.util; import android.content.Context; /** * Android大小单位转换工具类 * * float s ...

  6. 【MathType】彻底解决公式大小与文章文字大小不统一(含字体的字号与磅(pt)和像素(px)之间的换算关系)

    文章目录 1.大小不一致原因 2.字体的字号与磅(pt)和像素(px)之间的关系 3.彻底解决方法 在使用Mathtype的时候,有时候会出现公式大小不统一的情况,这时候手动去拖动大小的话非常不理想, ...

  7. [css] ui设计中px、pt、ppi、dpi、dp、sp之间的关系?

    [css] ui设计中px.pt.ppi.dpi.dp.sp之间的关系? QQ20150717160352 做了几个移动端的项目之后,深感移动端尺寸换算的必要性,在此做个总结. 先介绍下各自的定义: ...

  8. 1ppi等于多少dpi_Android开发之显示篇(弄懂ppi、dpi、pt、px、dp、dip、sp之间的关系只需这一篇)...

    概述 前段时间看了小米8的发布会,其中屏幕参数是如下介绍的: 小米8采用6.21英寸的三星AMOLED屏幕,分辨率为2248x1080,402 PPI ,纵横比是18.7:9,屏占比为86.68%,最 ...

  9. Android开发之显示篇(弄懂ppi、dpi、pt、px、dp、dip、sp之间的关系看这一篇就够了)

    版权申明]非商业目的注明出处可自由转载 博文地址:https://blog.csdn.net/ShuSheng0007/article/details/85165773 出自:shusheng007 ...

最新文章

  1. 荣耀3OS怎么升级鸿蒙系统,华为鸿蒙OS正式发布!教你如何升级
  2. 体感(Kinect)开发要点总结一
  3. STM32mini使用UCOSII信号量和邮箱实现任务挂起和恢复
  4. Coursera课程Python for everyone:Quiz: eXtensible Markup Language
  5. python 模块与包_Python 模块与包
  6. Linux中cut命令的使用
  7. Node Express4.x 片段视图 partials
  8. 关于Cocos2d-x中init方法和onEnter方法的区别
  9. qq浏览器极速版_安卓手机QQ轻聊版大升级,极速版正式上线:无广告/省内存
  10. html语言循环语句,Scala @功能/语言的HTML文档 - for循环,如果语句等
  11. R 学习 - 散点图
  12. wpf linux 开发教程 pdf,深入浅出WPF
  13. android 动画完成后不可点击事件,android – TranslateAnimation后按钮不可点击
  14. 小程序下找地点、查路线、搜地铁,用这3个插件就够了!
  15. Python爬虫学习之路——python IED工具介绍(一)
  16. Windows下遇到OSError: [WinError 6] 句柄无效的问题
  17. A Game of Thrones(15)
  18. UG二次开发-加工篇:获取刀具的直径,总长,刃长等
  19. Discuz 会员头像调用方法之discuz_uc_avatar函数
  20. 花1亿扶持优质红人,如涵推动网红经济出圈之路有何深意?

热门文章

  1. 【Jenkins】的四种插件安装方式
  2. AI芯片:寒武纪NPU设计分析(DianNao)
  3. 计算机导论11.29课后总结
  4. JavaScript动画案例——筋斗云,手风琴,固定导航栏
  5. 每日持续签到,累计签到,送积分
  6. 回顾Win10自带表情包快捷键
  7. 又冒出来了不错的创意
  8. 转换xml格式的短信记录
  9. 使用虚拟机备份软件恢复VMware vSphere虚拟机
  10. UML中各种线条关系记忆技巧