Android的px、dp和sp
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相关推荐
- px,dp,dip,sp,in,mm,pt详细分析
px,dp,dip,sp,in,mm,pt详细分析 px :(pixels),屏幕的像素点,不同的设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多. dip :(devi ...
- android 字体px转sp,Android中px,dp,sp区别及换算
px,dp,sp是Android中常用的距离单位. 基本概念: 屏幕尺寸:指的是屏幕对角线长度,用英寸(in)作为单位,1 in = 2.54 cm. 屏幕分辨率:在横纵向上的像素点数,单位px.一般 ...
- Android像素单位dp,sp,px,pt的区别和比较
转载自: https://zhidao.baidu.com/question/1736411549687308627.html?qbl=relate_question_0&word=dp%BA ...
- 老生常谈之Android里的dp和sp
Android里面的sp和dp网上有很多文章都谈过了,但是看后总有一种意犹未尽的感觉.现在我也来谈谈dp和sp,和大家交流一下,不对之处欢迎拍砖. 一.dp(或者dip device independ ...
- px,dp与sp的区别以及换算
1.px 即像素,1px代表屏幕上的一个物理像素点. "pixel" 的缩写,像素.是画面显示的基本单位,真实的像素并不是点或者方块(虽然有时这样显示),也没有实际固定长度,只是一 ...
- Android 长度单位(dp、sp、px、in、pt、mm)详解
px: 即像素,1px代表屏幕上一个物理的像素点: px单位不被建议使用,因为同样100px的图片,在不同手机上显示的实际大小可能不同,如下图所示(图片来自android developer guid ...
- Android中px、dp、dip、sp详解
众所周知,Android厂商非常多,各种尺寸的Android手机.平板层出不穷.导致了Android生态环境的碎片化现象越来越严重.Google公司为了解决分辨率过多的问题,在Android 的开发文 ...
- .net开发安卓入门 - 布局与样式(像素单位px、dp、sp的区别)
.net开发安卓入门 - 布局与样式 布局 LinearLayout RelativeLayout TableLayout RecyclerView ListView GridView GridLay ...
- android中px单位,android中像素单位dp、px、pt、sp的比较
dp(dip): device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA.HVGA和QVGA 推荐使用这个,不依赖 ...
最新文章
- SQL Server误区30日谈-Day21-数据损坏可以通过重启SQL Server来修复
- 耶鲁大学等机构提出的脑机接口软硬件协同设计,增加脑机的更大潜力
- NOIP信息奥赛--1995“同创杯”初中复赛题题解(四)
- 【云栖大会】探索云时代下的游戏开发模式
- 外媒称新浪面临与雅虎一样的问题 或被阿里廉价收购
- java动态语言_探秘Java 7:JVM动态语言支持详解
- 进程线程及堆栈关系的总结
- 计算机点击右键出现错误,电脑右键个性化打不开了怎么办
- vim编辑时遇到E325: ATTENTION Found a swap file by the name ./.backu.sh.swp错误代码的解决办法
- SQL基础---SQL DELETE 语句
- SSH学习之MVC和三层架构的区别
- gomarket服务器位置,第一章 昂达V711双核版常见问题解答.pdf
- 五子棋游戏设计(C语言AI智能板)
- CSDN学霸课表——来,这有一份PS入门速效大法
- unity之动画编辑器
- 抖音种草品宣,抖音短视频种草是什么意思?
- linux系统换硬件要重装,换cpu要重装系统吗?电脑更换cpu需要重装系统吗
- 【转载】Linux常用命令大全之文件处理命令(一)
- 上了 istio 的贼船之 API Gateway
- 海洋cms新手入门安装配置教程
热门文章
- 实战生产环境:kubeadmin安装1.13.3最新版k8s集群教程
- 如何在阿里云上使用Data Lake Analytics分析Table Store数据
- 开源性能测试工具JMeter快速入门(一)
- return 关键字 c
- 使用Apache反向代理实现全能主机的搭建
- 详解Android实现全屏正确方法
- Office SharePoint Server 2007 (Beta2) 管理、部署文档
- Node.js webpack-dev-server配置命令的两种方式
- C语言 标识符的作用域
- FJUT Home_W的拆分序列(DP)题解