文档章节

【Android】组件和文字的尺寸度量:dp、sp、px

CHANMIAN
 CHANMIAN
发布于 2015/08/22 14:32
字数 506
阅读 14
收藏 0

ppi: 像素密度,pixels per inch(1inch=2.54cm),即每英寸屏幕所拥有的像素数。像素密度=√{(长度像素数^2+宽度像素数^2)}/ 屏幕尺寸。

dpi: dots per inch,每英寸点数,指印刷业中的打印精度。在Android官方开发指南中,与ppi含义相同,也表示每英寸的像素数。

resolution: 指手机屏幕水平和竖直方向的像素个数。例如FHD分辨率,即full high definition,也称1080P分辨率或成分辨率为1080*1920。

联系以上三个概念,物理尺寸5.0英寸分辨率为1920x1080的屏幕像素密度为441PPI,属于xxhdpi范围。

px: 物理像素,在分辨率高(即dpi大)的屏幕上显示较小

dp、sp: 抽象像素,Android 在运行时会自动将sp、dp的值转换为像素单位。

dp: device independent pixels,早期也写作dip,密度无关像素。在不同dpi的屏幕上以不同的px显示。

sp: scale-independent pixels,是dp的一种,这种像素会受用户字体偏好设置的影响,一般用作字体的尺寸

官方转换公式: pixels = dps * (ppi /160),系数为ppi/160,例如对于上述1080p的屏幕,px=dp*441/160,画一条320dp的横线,将占屏幕的882/1080

160dpi的屏幕上(即HVGA,由于一般像素都是正方形,所以一般长宽方向上的分辨率相同),dp到px的转化系数(像素密度)为1,此时1px=1dp=1sp。

注1:文字的尺寸一律用sp单位,视图的尺寸一律使用dp单位。

注2:在屏幕上画一条细的分隔线时(用dp和sp会模糊):

<View layout_width="match_parent" layout_height="1px"/>

注3:android:layout_weight设置视图相对宽度

<android:layout_width="0dp" android:layout_weight="1"/>

参考资料:

[1] http://stackoverflow.com/questions/2025282/difference-between-px-dp-dip-and-sp-in-android


[2] Android Programming: The Big Nerd Ranch Guide §8.4.2 Page133


[3] https://en.wikipedia.org/wiki/Dots_per_inch

[4] http://blog.csdn.net/zhaokaiqiang1992

© 著作权归作者所有

CHANMIAN
粉丝 0
博文 1
码字总数 506
作品 0
武汉
CEO
私信 提问
【我的Android进阶之旅】Android使用TypedValue将dp/sp等转换为px的方式介绍

版权声明:本文为【欧阳鹏】原创文章,欢迎转载,转载请注明出处! 【http://blog.csdn.net/ouyang_peng】 https://blog.csdn.net/qq446282412/article/details/87796603 一、之前习惯的dp转p...

欧阳鹏
02/20
0
0
Android度量单位说明(DIP,DP,PX,SP)

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

sflfqx
2014/12/10
184
0
扒一扒那些px、pt、ppi、dpi、dp、sp之间的关系

原文出处:Snow 做了几个移动端的项目之后,深感移动端尺寸换算的必要性,在此做个总结。 先介绍下各自的定义: px:pixel,像素,电子屏幕上组成一幅图画或照片的最基本单元 pt: point,点,...

Snow
2015/09/29
0
0
Android dp、dip、dpi、px、sp简介及相关换算,及其应用实例

屏幕分辨率:在x y轴上的像素点数。单位是px,1px=1个像素点。一般以 纵向像素×横向像素 表示,如1920*1080 dpi--------------------------每英寸上的像素点数(斜角的px数目 ÷ 斜角的inc...

polo2013
2018/09/27
0
0
dp,px,pt,sp 的区别 以及dp 和 px 互转

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

Rella蕾拉
2015/04/17
491
0

没有更多内容

加载失败,请刷新页面

加载更多

Vue nodejs商城项目-搭建express框架环境

本文转载于:专业的前端网站➯Vue nodejs商城项目-搭建express框架环境 1.express-project 搭建express框架环境 安装express generator生成器 通过生成器自动创建项目 配置分析 安装 cnpm i -...

前端老手
8分钟前
1
0
maven项目A引入maven项目B的jar包

首先打开 项目B 的 pom 文件,加入如下配置 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin<......

嘴角轻扬30
11分钟前
2
0
一个突然出现的诡异bug

突然从昨天的某个时刻开始,程序报错了,作为接管该项目的我只能从找日志开始:这是打印的日志 日志已经很清楚了,说的的验签或者解密失败了! 好吧,我把代码拉下来瞅瞅,这是打印日志的地方...

布袋和尚_爱吃鱼
17分钟前
2
0
按位与(&)运算符应用实践

按位与运算是将数字转换成二进制格式进行位运算。 1、&的运算方法(奇偶性判断) 整数与“1”进行按位与运算,运算结果为“0”表示为偶数,运算结果为“1”表示为奇数。 <?php//将数组中...

尤金
27分钟前
2
0
java常量池

https://blog.csdn.net/qq_41376740/article/details/80338158

南桥北木
30分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部