android dp 转换工具,Android dp、px、sp相互转化工具类

本文介绍了Android中dp、px、sp之间的转换工具类,详细讲解了转换方法,包括px转dp/dip、dp/dip转px、px转sp以及sp转px的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正文

今天我编写一个dp、px、sp相互转化的工具类

我们在开发中有时候可能会有dp、px、sp相互的需求,首先我们来看看这三者的概念

px:它其实就是我们常说的像素单位,有时你可能会听到某屏幕是800*600的分辨率,这就是指的px

dp:这个是虽然也是尺寸单位,但是它会根据不同屏幕的密度进行适配,最开始Android是用的px,后来为了适配各种屏幕,于是就出现了dp,dp一般用于View大小设置

sp:它和dp一样,也是为了适配屏幕出现的,不过它一般是用于字体大小设置

既然我们要让它们能够互相转换,那必定会有一个桥梁,那这个桥梁是什么呢,通过上面的描述你应该也大概知道了,那就是屏幕的密度,那我们开发中怎么获取呢,下面我们就来看看它们之间如何进行转换

px转dip或dp

/**

* px转dip或dp

*

* @param context

* @param pxValue

* @return

*/

public static int px2dip(Context context, float pxValue) {

float scale = context.getResources().getDisplayMetrics().density;

return (int) (pxValue / scale + 0.5f);

}

可以看到,px转换成dp先是通过获取scale,这个scale获取的代码是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值