px、dp、sp、dpi之间的区别和转换

区别:

px (pixels)像素 -- 是像素,就是屏幕上实际的像素点单位。(一般UI人员在ps中经常使用)

dp/dip 设备独立像素,android layout经常使用的尺寸单位,与设备屏幕有关,dp是虚拟像素,在不同的像素密度的设备上会自动适配。即与像素密度无关。

sp 放大像素,主要是处理字体的大小

dpi:Android支持四种不同的dpi模式:ldpi mdpi hdpi xhdpi

hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)

mdpi里面存放中等分辨率的图片,如HVGA (320x480)

ldpi里面存放低分辨率的图片,如QVGA (240x320)

转换:

a.首先了解常见的分辨率Resolution:

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

VGA 显示绘图矩阵 640×480

HVGA half 480×320

QVGA quarter 320x240

b.dpi像素密度,指每英寸中的像素数,该值对应于DisplayMetrics类中属性densityDpi的值

(例子:设备分辨率为320*240,屏幕长2英寸宽1.5英寸 dpi=320/2=240/1.5=160)

c.density屏幕密度,指每平方英寸中的像素数,在DisplayMetrics类中属性density的值为dpi/160(用这个进行dp sp之间的转化)

如图:

d.px 和 dp 互转换

计算公式:实际像素数px=1dp*像素密度(dpi)/160 =dp*density

在320x480分辨率,像素密度dpi为160,1dp=1px

在480x800分辨率,像素密度dpi为240,1dp=1.5px

/**

* 根据手机的分辨率从 dp 的单位 转成为 px(像素)

*/

public static int dip2px(Context context, float dpValue) {

final float scale = context.getResources().getDisplayMetrics().density;

return (int) (dpValue * scale + 0.5f);

}

/**

* 根据手机的分辨率从 px(像素) 的单位 转成为 dp

*/

public static int px2dip(Context context, float pxValue) {

final float scale = context.getResources().getDisplayMetrics().density;

return (int) (pxValue / scale + 0.5f);

}

dpi与dp的关系_px、dp、sp、dpi之间的区别和转换相关推荐

  1. pid和linux的关系,linux – bash pid和$$之间的区别

    我是一个bash脚本初学者,我有一个"功课"要做.我想出了大部分的东西,但有一部分说,我必须回应父bash的pid和我将运行的两个subshel​​l的pid.所以我在网上看了这个 ...

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

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

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

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

  4. 弄懂ppi、dpi、pt、px、dp、dip、sp之间的关系

    基本概念: 屏幕的像素与图片的像素是一回事吗? 屏幕的分辨率和图片的分辨率是同一回事吗,分别代表什么,二者什么关系? PPI 和DPI 是一回事吗,什么关系? pt与px什么关系? Android中的 ...

  5. 浅谈屏幕适配 dp dip sp dpi ppi px sp

    一.Drawable资源文件夹之间的关系 Android开发中,UI一般会制作多种图片素材,根据素材的分辨率大小,放在如下几个文件夹中: Android 工程里 res 目录下的 drawable-h ...

  6. Android中的px、ppi(dpi)、dp(dip)、sp

    文章目录 一.关于px.ppi(dpi).dp(dip).sp 二.dp与px的关系 三.获取屏幕状态信息 一.关于px.ppi(dpi).dp(dip).sp px(pixel)像素,像素实际上是一 ...

  7. dp的定义原理和dpi,ppi,px,sp之间的区别

    扩展知识: 1080p和720p是什么意思 百度百科分辨率中最后一段话不明白的,可以参考这里 在开始讲解dp前,先来认识一些概念: 相关尺寸单位 px(pixel 像素):屏幕上的点,一般HVGA代表 ...

  8. dp的定义原理和dpi,ppi,px,pt,sp之间的区别

    转载请标明出处:http://blog.csdn.net/xx326664162/article/details/48007855 文章出自:薛瑄的博客 你也可以查看我的其他同类文章,也会让你有一定的 ...

  9. dp的定义原理和dpi ppi px pt sp之间的区别

    转载请标明出处:http://blog.csdn.net/xx326664162/article/details/48007855   文章出自:薛瑄的博客 你也可以查看我的其他同类文章,也会让你有一 ...

最新文章

  1. android adb打开gps,adb 命令行模拟GPS位置信息
  2. python语言入门n-python语言入门之字符串的一些用法
  3. SharePoint Online 创建和使用栏
  4. Python老司机给上路新手的3点忠告
  5. 整理的一些Android开发类免费视频课程
  6. chromebook刷机_如何从Chromebook上的APK侧面加载Android应用
  7. Struts2使用OGNL遍历各种map总结
  8. 联合国再请马云出任要职
  9. 想起JDK1.4的死机事故
  10. 应急响应常用的工具说明
  11. 再理解:LNode、*LinkList
  12. 解决Windows更新失败(0x8007000d)的详细方法
  13. 第50篇-企查查请求头参数分析【2022-09-29】
  14. 公开课丨大厂前端初级到高级技术体系
  15. uniapp 多国语言实现
  16. 最小二乘法拟合直线——MATLAB和Qt-C++实现
  17. 进击的UI----------------(常见快捷键的使用)
  18. softmax,softmax loss和交叉熵的关系
  19. pictureBox sizemode=zoom时图片像素坐标
  20. 头文件intrins.h的用法

热门文章

  1. 使用安全SSL连接PostgreSQL数据库
  2. Windows Edge 浏览器的有关 URL 链接的复制粘贴
  3. 门窗设备之铝合金门窗制作工艺
  4. 股票成本价买入价计算器 V1.2
  5. [转]宽带网络速度计算方法
  6. 如何查询计算机已连接wife的密码错误,三种方法查询已连接 WiFi 的密码,简单实用!...
  7. 工程能力(1)设计方法研发流程
  8. 电大计算机理工英语19年秋季,电大3894《理工英语1》单元自测7网上形考作业答案最新(课程号:04005)...
  9. 简易好用的pdf编辑器PDFelement 8 Pro Mac
  10. 基于JAVA网上租房管理计算机毕业设计源码+数据库+lw文档+系统+部署