dp和px之间的换算公式

 我来答
百度网友10a24bf
2017-07-06 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.3万
采纳率:95%
帮助的人:3174万
展开全部
dp和px的换算公式 :
dp*ppi/160 = px。比如1dp x 320ppi/160 = 2px。
sp:Scale-independent pixels,它是安卓的字体单位,以160PPI屏幕为标准,当字体大小为 100%时, 1sp=1px。
dp也就是dip:device independent pixels(设备独立像素)。
dp是一种与密度无关的像素单位,在每英寸160点的屏幕上,1dp = 1px。
px(像素):屏幕上的点。
上海巴鲁图工程机械科技有限公司_
2022-05-15 广告
增量编码器一般输出信号是两路正交脉冲信号和一路参考信号,之所以叫增量是因为它的位置信号是通过对脉冲计数累加得到,依靠计数设备的内部记忆来记住位置,并且同每圈输出的参考信号来清除累计误差. 缺点就是断电后,需要重新寻找初始位置. 例如打印机扫... 点击进入详情页
本回答由上海巴鲁图工程机械科技有限公司_提供
庹甜恬RQ

2021-04-15 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.2万
采纳率:94%
帮助的人:415万
展开全部
在Android开发中,尺寸换算可以说既简单又复杂,而且还比较碎,特别是屏幕适配的时候肯定会用到他们。今天就来总结一下他们三者的关系,首先说下他们都是什么。

px:像素单位。最基础的图像构成元素单位
dp:与密度无关的像素,这是一个基于屏幕物理密度的抽象单位。
这里要解释一下密度的概念,密度(dpi):每英寸包含的像素个数(单位是dpi),1dp实际上相当于密度为160dpi的屏上的一个点。可否理解为物理尺寸?也就是说,如果屏幕物理密度是160dpi时,dp和px是等效的。
换算公式 1: px = dp * (dpi / 160)
sp:同dp相似,但还会根据用户的字体大小偏好来缩放(建议使用sp作为文本的单位,其它用dip)

咱们废话不多说,直接上表格,通过这个表格你会非常快速的定位到你要找的内容。

宽×高(标准值) 240×320 320×480 480x800 720x1280 1080x1920 1440×2560
DPI等级 LDPI MDPI HDPI XHDPI XXHDPI XXXHDPI
DPI数值 (density) 120 160 240 320 480 640
对应比例 3 4 6 8 12 16
1DP=?PX 0.75 1 1.5 2 3 4
注:density值表示每英寸有多少个显示点,与分辨率是两个概念。
MDPI为baseline,其他均以此为基准,在此设备上,1dp = 1px

下面附上开发中用到的dp和px相互转换的工具类。sp和dp在开发中是同等对待的,只是sp是用来对文字的大小的。其他的全用dp就好。

import android.content.Context;

public class DensityUtil {

/**
* 根据手机的分辨率从 dp 的单位 转成为 px(像素)
*/

* 根据手机的分辨率从 px(像素) 的单位 转成为 dp
*/

这个工具类在网上一大推,而且基本都一样,加0.5f是有个偏移值,确保精度不流失。scale是在这个类DisplayMetrics中定义的全局变量,其实这个值就是当前手机的density/160
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式