Android 将40px转换为sp
40px的sp值是多少?请同时说明换算公式 我正在尝试将psd中的字体大小转换为mdpi密度的sp单位,即320*480和160 dpiAndroid 将40px转换为sp,android,Android,40px的sp值是多少?请同时说明换算公式 我正在尝试将psd中的字体大小转换为mdpi密度的sp单位,即320*480和160 dpi case COMPLEX_UNIT_SP: return value * metrics.scaledDensity; 从源头 这将sp转换为px,只需将其转置,就可以得到将px转换为sp的公式: sp = px / DisplayMetrics.scaledDensity 这不会将sp转换为px,反之亦然。但是,sp和dp几乎相似,因此,我认为
case COMPLEX_UNIT_SP:
return value * metrics.scaledDensity;
从源头
这将sp转换为px,只需将其转置,就可以得到将px转换为sp的公式:
sp = px / DisplayMetrics.scaledDensity
这不会将sp转换为px,反之亦然。但是,sp和dp几乎相似,因此,我认为使用这个公式是安全的
密度无关像素(dp)
定义UI布局时应使用的虚拟像素单位,用于以与密度无关的方式表示布局尺寸或位置
与密度无关的像素相当于屏幕上的一个物理像素
160 dpi屏幕,这是系统假设的基线密度
对于“中等”密度屏幕。在运行时,系统是透明的
根据实际情况,根据需要处理dp装置的任何缩放
使用中屏幕的密度。dp单元到屏幕的转换
像素很简单:px=dp*(dpi/160)
。例如,在240 dpi上
屏幕,1 dp等于1.5物理像素。您应该始终使用dp
在定义应用程序的UI时使用单位,以确保正确显示
不同密度的屏幕上的用户界面
来源: 看看这个@abdel,它没有回答我的问题。我需要把px转换成的公式sp@palejandro我看到了那个问题,但仍然认为答案不恰当。我需要配方。比如sp=px*scaledDesnityGood工具就是:谢谢你的回答。那太完美了
px = dp * (dpi / 160)