Android的px、dp和sp
px:

即像素,1px代表屏幕上一个物理的像素点;偶尔用到px的情况,是需要画1像素表格线或阴影线的时候。

dp:

这个是最常用但也最难理解的尺寸单位。它与“像素密度”密切相关,所以首先我们解释一下什么是像素密度。假设有一部手机,屏幕的物理尺寸为1.5英寸x2英寸,屏幕分辨率为240x320,则我们可以计算出在这部手机的屏幕上,每英寸包含的像素点的数量为240/1.5=160dpi(横向)或320/2=160dpi(纵向),160dpi就是这部手机的像素密度,像素密度的单位dpi是Dots Per Inch的缩写,即每英寸像素数量。横向和纵向的这个值都是相同的,原因是大部分手机屏幕使用正方形的像素点。
不同的手机/平板可能具有不同的像素密度,例如同为4寸手机,有480x320分辨率的也有800x480分辨率的,前者的像素密度就比较低。Android系统定义了四种像素密度:低(120dpi)、中(160dpi)、高(240dpi)和超高(320dpi),它们对应的dp到px的系数分别为0.75、1、1.5和2,这个系数乘以dp长度就是像素数。

dip:

与dp完全相同,只是名字不同而已。在早期的Android版本里多使用dip,后来为了与sp统一就建议使用dp这个名字了。

sp:

与缩放无关的抽象像素(Scale-independent Pixel)。sp和dp很类似但唯一的区别是,Android系统允许用户自定义文字尺寸大小(小、正常、大、超大等等),当文字尺寸是“正常”时1sp=1dp=0.00625英寸,而当文字尺寸是“大”或“超大”时,1sp>1dp=0.00625英寸。

mm:

即毫米;

in:

即英寸,1英寸=2.54厘米(约);
pt:

1pt=1/72英寸=0.035厘米;

最佳实践,文字的尺寸一律用sp单位,非文字的尺寸一律使用dp单位。http://hovertree.com/menu/android/

dp与px转换的方法:

public static int dip2px(Context context, float dipValue){   final float scale = context.getResources().getDisplayMetrics().density;   return (int)(dipValue * scale +0.5f); }
public static int px2dip(Context context, float pxValue){   final float scale = context.getResource().getDisplayMetrics().density;   return (int)(pxValue / scale +0.5f); }

推荐:http://www.cnblogs.com/roucheng/p/androidjiqiao.html

Android的px、dp和sp相关推荐

  1. px,dp,dip,sp,in,mm,pt详细分析

    px,dp,dip,sp,in,mm,pt详细分析 px   :(pixels),屏幕的像素点,不同的设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多. dip  :(devi ...

  2. android 字体px转sp,Android中px,dp,sp区别及换算

    px,dp,sp是Android中常用的距离单位. 基本概念: 屏幕尺寸:指的是屏幕对角线长度,用英寸(in)作为单位,1 in = 2.54 cm. 屏幕分辨率:在横纵向上的像素点数,单位px.一般 ...

  3. Android像素单位dp,sp,px,pt的区别和比较

    转载自: https://zhidao.baidu.com/question/1736411549687308627.html?qbl=relate_question_0&word=dp%BA ...

  4. 老生常谈之Android里的dp和sp

    Android里面的sp和dp网上有很多文章都谈过了,但是看后总有一种意犹未尽的感觉.现在我也来谈谈dp和sp,和大家交流一下,不对之处欢迎拍砖. 一.dp(或者dip device independ ...

  5. px,dp与sp的区别以及换算

    1.px 即像素,1px代表屏幕上的一个物理像素点. "pixel" 的缩写,像素.是画面显示的基本单位,真实的像素并不是点或者方块(虽然有时这样显示),也没有实际固定长度,只是一 ...

  6. Android 长度单位(dp、sp、px、in、pt、mm)详解

    px: 即像素,1px代表屏幕上一个物理的像素点: px单位不被建议使用,因为同样100px的图片,在不同手机上显示的实际大小可能不同,如下图所示(图片来自android developer guid ...

  7. Android中px、dp、dip、sp详解

    众所周知,Android厂商非常多,各种尺寸的Android手机.平板层出不穷.导致了Android生态环境的碎片化现象越来越严重.Google公司为了解决分辨率过多的问题,在Android 的开发文 ...

  8. .net开发安卓入门 - 布局与样式(像素单位px、dp、sp的区别)

    .net开发安卓入门 - 布局与样式 布局 LinearLayout RelativeLayout TableLayout RecyclerView ListView GridView GridLay ...

  9. android中px单位,android中像素单位dp、px、pt、sp的比较

    dp(dip): device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA.HVGA和QVGA 推荐使用这个,不依赖 ...

最新文章

  1. SQL Server误区30日谈-Day21-数据损坏可以通过重启SQL Server来修复
  2. 耶鲁大学等机构提出的脑机接口软硬件协同设计,增加脑机的更大潜力
  3. NOIP信息奥赛--1995“同创杯”初中复赛题题解(四)
  4. 【云栖大会】探索云时代下的游戏开发模式
  5. 外媒称新浪面临与雅虎一样的问题 或被阿里廉价收购
  6. java动态语言_探秘Java 7:JVM动态语言支持详解
  7. 进程线程及堆栈关系的总结
  8. 计算机点击右键出现错误,电脑右键个性化打不开了怎么办
  9. vim编辑时遇到E325: ATTENTION Found a swap file by the name ./.backu.sh.swp错误代码的解决办法
  10. SQL基础---SQL DELETE 语句
  11. SSH学习之MVC和三层架构的区别
  12. gomarket服务器位置,第一章 昂达V711双核版常见问题解答.pdf
  13. 五子棋游戏设计(C语言AI智能板)
  14. CSDN学霸课表——来,这有一份PS入门速效大法
  15. unity之动画编辑器
  16. 抖音种草品宣,抖音短视频种草是什么意思?
  17. linux系统换硬件要重装,换cpu要重装系统吗?电脑更换cpu需要重装系统吗
  18. 【转载】Linux常用命令大全之文件处理命令(一)
  19. 上了 istio 的贼船之 API Gateway
  20. 海洋cms新手入门安装配置教程

热门文章

  1. 实战生产环境:kubeadmin安装1.13.3最新版k8s集群教程
  2. 如何在阿里云上使用Data Lake Analytics分析Table Store数据
  3. 开源性能测试工具JMeter快速入门(一)
  4. return 关键字 c
  5. 使用Apache反向代理实现全能主机的搭建
  6. 详解Android实现全屏正确方法
  7. Office SharePoint Server 2007 (Beta2) 管理、部署文档
  8. Node.js webpack-dev-server配置命令的两种方式
  9. C语言 标识符的作用域
  10. FJUT Home_W的拆分序列(DP)题解