Android 中的长度单位px、dp、sp

1.px

这个不用太多解释,就是屏幕上的一个物理像素点。眼神好的小伙伴仔细看下应该能看到屏幕上的小格子,不行就滴一滴水再看。

不建议使用px,同样的图片在不同手机上显示大小可能不同。分辨率高的显示的小,分辨率低的显示的大。

2.dp

这个单位要认真理解,它和像素密度相关。先说像素密度dpi,即单位英寸的像素点数量。假如我的手机屏幕尺寸为1.5英寸x2英寸,分辨率为240x320,那它的像素密度即为160dpi。

Android 系统定义了4种分辨率:低(120dpi)、中(160dpi)、高(240dpi)、超高(320dpi),对应的dp到px的转换系数分别是0.75、1、1.5、2,这个系数乘dp长度就是像素数。假如我的手机像素密度是240dpi,现在屏幕上有一个长度为80dp 的图片,那么显示的像素长度为80x1.5=120px。假如我另一个手机像素密度是320dpi,那么实际像素长度为160px。这样,同样的图片在不同的手机上显示的尺寸就几乎没什么区别。

3.dip

Density independent pixels,设备无关像素。

与dp 完全相同,名字不同罢了,不再多做解释。

4.sp

与缩放无关的抽象像素(Scale-independent Pixel)。

和dp 很类似但唯一的区别是,Android 系统允许用户自定义文字尺寸(小、正常、大、超大等),当文字是正常大小时1sp=1dp,其他尺寸比1dp 偏大或偏小。

建议:文字用sp 单位,其他非文字用dp 单位。例如textSize="16sp"、layout_width="60dp";偶尔也需要使用px 单位,如绘制一条分割线。

时间: 2024-11-06 03:50:57

Android 中的长度单位px、dp、sp的相关文章

Android px, dp, sp的区别

Android自兴起以来,开发者不断增加,与此同时市场上参差不齐的设备也不断增加,随之而来的则是开发者需要适配众多机型而带来的困扰与抱怨.并且随着不同厂家定制化不同的ROM,Android设备的碎片化现象日益严重.这篇文章主要讲述如何设计中严格遵从设计图标准的Android页面. 1. px, dp, sp区别 什么是px px就是我们通常所说的像素的单位,在css里面,我们用px比较多.px主要指用户在屏幕上看到的事物的实际大小单位. 什么是dp 在看手机或者电脑参数时,我们经常说到一个关键词

android中的长度单位,dip、dp、px、sp及获取屏幕分辨率和密度

本文主要讲的是android中长度单位(dp.px.sp)的用法. 1.px:pixels(像素) (1).不同的设备不同的显示屏显示效果是相同的 (2).这是绝对像素,是多少就永远是多少不会改变. 一般我们形容屏幕的分辨率,例如分辨率800*480,实际表示改手机屏幕在高度上有800个像素,宽度上有400个像素,整个屏幕就是由800*480个像素点组成.但是由于我们的屏幕大小是不一样的,就会导致同样分辨率在不同尺寸的屏幕上表现不同,同分辨率下,尺寸越小的屏幕上每英寸上分布的像素点就越多,即分辨

关于android中的单位(dp、sp)

android让人头疼的适配问题. --------- Android 中的单位大概有这些: 常用的dip.sp,有时候用到px. --------- 介绍两个类: TypedValue:有一些单位转换相关的方法. DisplayMetrics: DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); DisplayMetrics有这些单位转换相关的字段: -

android中根据不同分辨率dp和px的相互转算

public class PxAndDp { /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public static int dip2px(Context context, float dpValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (dpValue * scale + 0.5f); } /** * 根据手机的分辨率从 px

New UI-常用计量单位px,dp,sp,pt解析与转换

New UI-常用计量单位px,dp,sp,pt解析与转换            --转载请注明出处:coder-pig,欢迎转载,请勿用于商业用途! 小猪Android开发交流群已建立,欢迎大家加入,无论是新手,菜鸟,大神都可以,小猪一个人的 力量毕竟是有限的,写出来的东西肯定会有很多纰漏不足,欢迎大家指出,集思广益,让小猪的博文 更加的详尽,帮到更多的人,O(∩_∩)O谢谢! 小猪Android开发交流群:小猪Android开发交流群群号:421858269 新Android UI实例大全目

Android的长度单位理解(dp,sp,pt,px,in,mm)

dp: sp: pt: px: in: mm:

Android屏幕尺寸与度量单位(px,dp,sp)简介

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption

px,dp,sp三者的转换

dp是虚拟像素,在不同的像素密度的设备上会自动适配, 比如: 在320x480分辨率, 像素密度为160,1dp=1px 在480x800分辨率,像素密度为240,1dp=1.5px 计算公式:1dp*像素密度/160 = 实际像素数 下面是工具类: import android.util.TypedValue; import android.content.Context; //常用单位转换的辅助类 public class DensityUtil{ public DensityUtil()

【转】Android中的长度单位详解(dp,sp,px,in,pt,mm)

原帖地址:http://blog.csdn.net/nokiaguy/article/details/5509638 原帖作者:geekguy 看到有很多网友不太理解dp.sp和px的区别:现在这里介绍一下dp和sp.dp也就是dip.这个和sp基本类似.如果设置表示长度.高度等属性时可以使用dp 或sp.但如果设置字体,需要使用sp.dp是与密度无关,sp除了与密度无关外,还与scale无关.如果屏幕密度为160,这时dp和sp和px是一 样的.1dp=1sp=1px,但如果使用px作单位,如