dp和px_px和dp转换 - CSDN
精华内容
参与话题
  • dppx的转换

    千次阅读 2018-10-10 08:44:46
    Android开发时用dp而不是px单位设置图片大小,是Android特有的单位 场景:假如同样都是画一条长度是屏幕一半的线,如果使用px作为计量单位,那么在480x800分辨率手机上设置应为240px;在3...

     

    • 含义:density-independent pixel,叫dp或dip,与终端上的实际物理像素点无关。
    • 单位:dp,可以保证在不同屏幕像素密度的设备上显示相同的效果

      1. Android开发时用dp而不是px单位设置图片大小,是Android特有的单位
      2. 场景:假如同样都是画一条长度是屏幕一半的线,如果使用px作为计量单位,那么在480x800分辨率手机上设置应为240px;在320x480的手机上应设置为160px,二者设置就不同了;如果使用dp为单位,在这两种分辨率下,160dp都显示为屏幕一半的长度。
    • dp与px的转换
      因为ui设计师给你的设计图是以px为单位的,Android开发则是使用dp作为单位的,那么我们需要进行转换:

    密度类型 代表的分辨率(px) 屏幕密度(dpi) 换算(px/dp) 比例
    低密度(ldpi) 240x320 120 1dp=0.75px 3
    中密度(mdpi) 320x480 160 1dp=1px 4
    高密度(hdpi) 480x800 240 1dp=1.5px 6
    超高密度(xhdpi) 720x1280 320 1dp=2px 8
    超超高密度(xxhdpi) 1080x1920 480 1dp=3px 12

    在Android中,规定以160dpi(即屏幕分辨率为320x480)为基准:1dp=1px

    --------------------- 本文来自 旺仔哥 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/wangwangli6/article/details/63258270?utm_source=copy

    展开全文
  • dppx的关系

    2019-07-01 00:31:30
    dpi:(dots per inch),即每英寸范围内的像素点个数;...dppx的关系:dp=px*(dpi/160); 将不同的dpi进行分组,已得到不同的比例。 dpi与ppi的区别请参考链接:https://blog.csdn.net/csdn66_2016/articl...

    dpi:(dots per inch),即每英寸范围内的像素点个数;

    px:屏幕的实际像素;

    dp:即dip,device independent pixels,设备独立像素;

    dp与px的关系:dp=px*(dpi/160);

    将不同的dpi进行分组,已得到不同的比例。

    dpi与ppi的区别请参考链接:https://blog.csdn.net/csdn66_2016/article/details/70331919

    展开全文
  • dp与像素px换算

    万次阅读 2016-12-19 10:16:48
    在320x480分辨率,像素密度为160,1dp=1px 在480x800分辨率,像素密度为240,1dp=1.5px 计算公式:1dp*像素密度/160 = 实际像素数 px(像素):屏幕上的点。 dp(与密度无关的像素):一种基于屏幕密度的抽象单位。...
    dp是虚拟像素,在不同的像素密度的设备上会自动适配,比如:
    在320x480分辨率,像素密度为160,1dp=1px
    在480x800分辨率,像素密度为240,1dp=1.5px
    计算公式:1dp*像素密度/160 = 实际像素数
    px(像素):屏幕上的点。

    dp(与密度无关的像素):一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp = 1px。


    提供一个工具类:dp与px值转换

    public class DensityUtil {
    
        /**
         * 根据手机的分辨率从 dp 的单位 转成为 px(像素)
         */
        public static int dp2px(Context context, float dpValue) {
            final float scale = context.getResources().getDisplayMetrics().density;
            return (int) (dpValue * scale + 0.5f);
        }
    
        /**
         * 根据手机的分辨率从 px(像素) 的单位 转成为 dp
         */
        public static int px2dp(Context context, float pxValue) {
            final float scale = context.getResources().getDisplayMetrics().density;
            return (int) (pxValue / scale + 0.5f);
        }
    }

    展开全文
  • dp和px换算公式

    千次阅读 2017-12-22 11:02:36
    dp是虚拟像素,在不同的像素密度的设备上会自动适配,比如: 在320x480分辨率,像素密度为160,1dp=1px 在480x800分辨率,像素密度为240,1dp=1.5px 计算公式: 1dp*像素密度/160 = 实际...
    dp是虚拟像素,在不同的像素密度的设备上会自动适配,比如:

    在320x480分辨率,像素密度为160,1dp=1px
    在480x800分辨率,像素密度为240,1dp=1.5px

    计算公式:

    1dp*像素密度/160 = 实际像素数
    展开全文
  • android中dp和px的关系

    千次阅读 2019-03-11 11:52:10
    关于android的dp和px的关系是我刚开始学习android的第一个知识点,不知不觉学安卓也有一年了,但是偶然间我发现我理解的dp和px的关系一直是错的,真的是有一点搞笑,今天特意写一篇博客纪念一下这个我理解错一年的...
  • 你也可以查看我的其他同类文章,也会让你有一定的收货! 扩展知识: 4k是什么意思 1080p720p是什么意思 百度百科分辨率中最后一段话不明白的,可以参考这里 在开始讲解dp前,先来认识一些概念, ...px
  • px和dp的关系

    2019-07-25 09:58:17
    px = dp * 屏幕密度 屏幕密度 = DisplayMetrics dm = getApplicationContext().getResources().getDisplayMetrics()print_lg("设备的绝对宽度:"+dm.widthPixels+"px");print_lg("设备的绝对高度:"+dm....
  • dppx的转换对照表

    千次阅读 2017-11-15 15:22:21
    密度类型代表的分辨率(px)屏幕密度(dpi)换算(px/dp)比例低密度(ldpi)240x3201201dp=0.75px3中密度(mdpi)320x4801601dp=1px4高密度(hdpi)480x8002401dp=1.5px6超高密度(xhdpi)720x12803201dp
  • Android中dp和px之间进行转换

    万次阅读 多人点赞 2011-12-02 09:35:35
    在xml布局文件中,我们既可以设置px,也可以设置dp(或者dip)。一般情况下,我们都会选择使用dp,这样可以保证不同屏幕分辨率的机器上布局一致。...以下是一个应用类,方便进行px和dp之间的转换。 import
  • 安卓dppxpxdp方法

    万次阅读 2020-05-09 10:21:22
    dppx: /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public static int dip2px(Context context, float dpValue) { final float scale = context.getResources().getDisplayMetrics().densit...
  • ldpi 320*240 1dp=0.75px  mdpi 480*320 1dp=1.0px  hdpi 800*480 1dp=1.5px  xhdpi 1280*720 1dp=2.0px  xxhdpi 1920*1080 1dp=3px  protected static int dpTopx(Context co
  • 1dp 等于多少PX

    万次阅读 2017-04-06 14:51:33
    dp是虚拟像素,在不同的像素密度的设备上会自动适配,比如: 在320x480分辨率,像素密度为160,1dp=1px 在480x800分辨率,像素密度为240,1dp=1.5px 计算公式:1dp*像素密度/160 = 实际像素数 px(像素):屏幕上的点. ...
  • Android开发中dp,sp和px之间的转换

    万次阅读 2016-12-29 22:04:16
    众所周知,在Android开发中dp和px,sp和px之间的转换时必不可少的,下面将转换的代码记录下来
  • (px to dp): dp = (int)(px / (displayMetrics.densityDpi / 160)); 但是不能运行,显示的不能被0整除. 我用如下方法实现dppx的转换: px = (int)(dp * (displayMetrics.densityDpi / 160)); ...
  • Android中dppx互转的方法

    千次阅读 2018-06-29 09:40:41
    在Android中dppx的工具类,直接调用即可 public class ScaleUtils { public static int dip2px(Context context, float dpValue) { final float scale = context.getResources().getDisplayMetrics().density; ...
  • 两分钟理解Android中PXDP、SP的区别

    万次阅读 多人点赞 2018-04-03 10:55:44
    前言: 众所周知,Android厂商非常多,各种尺寸的android手机、平板层出不穷。...Google公司为了解决分辨率过多的问题,在Android的开发文档中定义了pxdp、sp,方便开发者适配不同分辨率的Androi...
  • Android中分辨率,DPI,DPPX对应关系

    万次阅读 多人点赞 2016-06-26 20:30:46
    在Android的UI设计中和页面编程布局的过程中,我们经常会接触到分辨率,DPI,DPPX这些概念,有必要对它们进行一下梳理总结,这篇短小精湛的博客就用一张图来概括了这几个概念的对应关系,以便忘了的时候回来翻翻...
  • dp2px px2dp

    万次阅读 2017-01-19 15:45:29
    /** * 将dp转换成px * @param context * @param dpValue * @return */ public static int dip2px(Context context,float dpValue){ final float scale = context.getResources ().g
  • 他们也不懂Android的dp和sp单位是怎么回事。这个时候我们Android工程师如果不注意怎么转换的话,就可能开发出很难看的界面。 那么如何才能正确的将UI稿的上的px转换成android的dp单位呢?这个取决于UI设计师的设计...
  • DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); int screenWidthPx = dm.widthPixels; int screenHeighPx = dm.heightPixels; int virtualKeyHeight = 0;...
1 2 3 4 5 ... 20
收藏数 45,372
精华内容 18,148
关键字:

dp和px