dp,px,sp android间的转换

原创 2015年11月17日 16:03:12
   public static int dp2px(int dp,Context context) {
        return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp,
                context.getResources().getDisplayMetrics());
    }

    public static int px2dip(Context context, float pxValue) {
        final float scale = context.getResources().getDisplayMetrics().density;
        return (int) (pxValue / scale + 0.5f);
    }

    public static int dip2px(Context context, float dipValue) {
        final float scale = context.getResources().getDisplayMetrics().density;
        return (int) (dipValue * scale + 0.5f);
    }

    public static int px2sp(Context context, float pxValue) {
        final float fontScale = context.getResources().getDisplayMetrics().scaledDensity;
        return (int) (pxValue / fontScale + 0.5f);
    }

    public static int sp2px(Context context, float spValue) {
        final float fontScale = context.getResources().getDisplayMetrics().scaledDensity;
        return (int) (spValue * fontScale + 0.5f);
    }

版权声明:本文为博主笔记,欢迎评论与转载。

相关文章推荐

Android dp和px/sp等单位相互转换

  • 2015年12月28日 13:56
  • 6KB
  • 下载

Android开发之单位转换,dp、px、sp

Android开发之单位转换,dp、px、sp 在开放过程中,毕竟UI不是程序员画的,碰到专业技术好点的美工还好,碰到刚开始搞ui的,提供的图片尺寸,字体大小,切图尺寸各种让你无奈。在这里可以解...

Android dip/dp sp px 单位转换小结 applyDimension

import android.content.Context; import android.util.TypedValue;/** * 说明:相对于官方内部转换 都+0.5f的原因:根据网上的...

Android的计量单位px/dip/dp/sp/pt/in/mm,及相互转换

px   :是屏幕的像素点 in    :英寸 mm :毫米 pt    :磅,1/72 英寸 dp   :一个基于density的抽象单位,如果一个160dpi的屏幕,1dp=1px dip  :等...

Android根据分辨率进行单位转换-(dp,sp转像素px)

Android系统中,默认的单位是像素(px)。也就是说,在没有明确说明的情况下,所有的大小设置都是以像素为单位。 如果以像素设置大小,会导致不同分辨率下出现不同的效果。那么,如何将应用中所有大...

Android中,单位dp、sp、px互相转换工具类

可以定义一个工具类,用来获取系统的转化比值,然后需要使用时调用即可。具体代码如下: /** * dp、sp转化工具 * * @author h55l5 * */ public class ...
  • h55l55
  • h55l55
  • 2016年03月27日 22:10
  • 432

Android px、dp、sp之间相互转换

dp(dip): device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖...

Android中dp、sp、px的转换和区别。

apk的资源包中 当屏幕density=240时,使用hdpi 标签的资源 当屏幕density=160时,使用mdpi标签的资源 当屏幕density=120时,使用ldpi标签的资源。 不加...

Android中px、dp、sp之间相互转换

dp(dip): device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖...

Android原生系统API自带dp、px、sp单位转换

Android系统中自带的Api中可以使用TypedValue进行单位转换1,调用系统api转换单位// 获得转换后的px值 float pxDimension = TypedValue.applyD...
  • mingda8
  • mingda8
  • 2017年02月28日 12:07
  • 202
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:dp,px,sp android间的转换
举报原因:
原因补充:

(最多只允许输入30个字)