安卓开发:px 与 dp, sp换算公式?(zz)

PPI = Pixels per inch,每英寸上的像素数,即 "像素密度"

  • xhdpi: 2.0
  • hdpi: 1.5
  • mdpi: 1.0 (baseline)
  • ldpi: 0.75

drawable-ldpi、drawable-mdpi、drawable-hdpi 精度分别为低、中(android默认)、高。
对应的图片大小为:36x36、48x48、72x72。

xxhdpi: 144*144
xhdpi:96*96
hdpi:72*72
mdpi:48*48
ldpi:36*36

dp是虚拟像素,在不同的像素密度的设备上会自动适配,比如:
在320x480分辨率,像素密度为160,1dp=1px
在480x800分辨率,像素密度为240,1dp=1.5px
计算公式:1dp*像素密度/160 = 实际像素数

drawable- hdpi、drawable- mdpi、drawable-ldpi的区别:
(1)drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)
(2)drawable-mdpi里面存放中等分辨率的图片,如HVGA (320x480)
(3)drawable-ldpi里面存放低分辨率的图片,如QVGA (240x320)
系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。



ppi的运算方式是:

PPI = √(长度像素数2 + 宽度像素数2) / 屏幕对角线英寸数

dp:Density-independent pixels,以160PPI屏幕为标准,则1dp=1px,

dp和px的换算公式 :
dp*ppi/160 = px。比如1dp x 320ppi/160 = 2px。

sp:Scale-independent pixels,它是安卓的字体单位,以160PPI屏幕为标准,当字体大小为 100%时, 1sp=1px。

sp 与 px 的换算公式:sp*ppi/160 = px

总结得出:

px = dp*ppi/160
dp = px / (ppi / 160)

px = sp*ppi/160
sp = px / (ppi / 160)

dp = sp?

来源: http://www.cnblogs.com/bluestorm/p/3640786.html

来自为知笔记(Wiz)

时间: 2024-11-06 12:12:43

安卓开发:px 与 dp, sp换算公式?(zz)的相关文章

单位px,pt,dp,sp

1.px表示像素,pt表示磅,一磅=1/72英寸,用于表示文字的大小. 这两种用于pc的开发绰绰有余,但是基于现在手机像素比各不相同,单位英寸下的像素个数不同,所以使用px和pt在不同像素的手机上显示效果不同.为了解决这个问题,产生了下面的两种单位. 2.dp又叫dip,是密度无关像素的意思,在不同密度的屏幕中的显示比将保持一致. 密度:单位是dpi,表示每英寸的像素个数,即为像素比, 比如一个手机是320*480像素,手机屏幕的长和宽分别是2英寸和3英寸,那这个屏幕的密度就是160dpi 可以

px、dp与sp的区别以及换算

1.px 即像素,1px代表屏幕上的一个物理像素点. 2.dp dip:device independent pixels(设备独立像素),dp与dip一样,不同的设备有不同的显示效果,一般为了支持WVGA.HVGA和QVGA推荐使用这个,不依赖像素. 3.sp sp:scale-independent pixels(缩放独立像素),与缩放无关的抽象像素,它和dp很相似,但唯一的区别在于,Android系统允许用户自定义文字尺寸大小(小,正常,大,超大等),当文字尺寸是“正常”时,1sp=1dp

安卓开发常见布局方式学习

在安卓开发中我们常用的布局方式有这么几种: 1.LinearLayout ( 线性布局 ) :(里面只可以有一个控件,并且不能设计这个控件的位置,控件会放到左上角) 线性布局分为水平线性和垂直线性二者的属性分别为: android:orientation= " horizontal " android:orientation= "vertical" . 2.RelativeLayout ( 相对布局 ) : (里面可以放多个控件,但是一行只能放一个控件) 附加几类

安卓开发中我们常用的布局方式

在安卓开发中我们常用的布局方式有这么几种: 1.LinearLayout ( 线性布局 ) :(里面只可以有一个控件,并且不能设计这个控件的位置,控件会放到左上角) 线性布局分为水平线性和垂直线性二者的属性分别为: android:orientation= " horizontal " android:orientation= "vertical" . 2.RelativeLayout ( 相对布局 ) : (里面可以放多个控件,但是一行只能放一个控件) 附加几类

安卓开发----TextView控件属性列表(转)

文章原地址: http://wwzcraig.blog.163.com/blog/static/64622969201373184343118/ android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接.可选值(none/web/email/phone/map/all)android:autoText如果设置,将自动执行输入值的拼写纠正.此处无效果,在显示输入法并输入的时候起作用.android:bufferType指定getText()

安卓的显示单位dp、dip、px、sp

dp==dip:设备独立像素 .(device independent pixels) dip是年迈的dp,已经退休,在比较老的代码中还可以看到dip.目前谷歌推荐用dp,在我们开发安卓程序的时候,除了字体之外,都推(强)荐(制)使用dp. sp:比例像素.(scaled pixels ) sp一般用于处理字体.安卓有个东西叫做大字体,那玩意就是专门调整sp的.所以所有关于字体的单位,推(强)荐(制)使用sp. px:像素(pixels) px即手机上面的物理点,属于物理范畴的,所以在写安卓程序

android屏幕知识,dp sp px总结

屏幕初步总结. 一.目前手机屏幕像素密度基本有5种情况.(以下像素密度简称密度) 密度 ldpi mdpi  hdpi xhdpi    xxhdpi 密度值 120 160 240 320    480 分辨率 240x320 320x480 480x800 720x1280 1080x1920 换算 1dp=0.75px 1dp=1px 1dp=1.5px 1dp=2px  1dp=3px 当安卓系统字号为“普通”时,sp==dp,换算到px和dp一样. 1.320x480和480x800的

Android单位转换 (px、dp、sp之间的转换工具类)

在Android开发中,涉及到屏幕视频问题的时候,px.dp.sp之间的转换比较重要的一部分,所以杨哥整理了一个工具类给大伙用. package com.zw.express.tool; import android.content.Context;import android.util.DisplayMetrics;/** * ydc * @author Administrator * */public class DensityUtils { /**     * 根据手机的分辨率从 dip

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

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