dp与px

原创 2015年07月08日 14:48:17

1.>320*480的含义:

320:纵向每列320个像素点
480:横向每列480个像素点

2.>ppi:pixels per inch

像素密度,即每英寸屏幕所拥有的像素数,像素密度越大,显示画面细节就越丰富。
像素密度=√{(长度像素数^2+宽度像素数^2)}/ 屏幕尺寸
注:屏幕尺寸单位为英寸 例:分辨率为1280*720 屏幕宽度为6英寸 计算所得像素密度约等于245
同样都是1080p,屏幕尺寸越大,ppi越低.

3.>drawable-ldpi、drawable-mdpi、drawable-hdpi 精度分别为低、中(默认)、高。
对应的图片大小为:36x36、48x48、72x72。

xxhdpi: 144*144 ->3.0
xhdpi: 96*96 ->2.0
hdpi: 72*72 ->1.5
mdpi: 48*48 ->baseline
ldpi: 36*36 ->0.75

drawable- hdpi、drawable- mdpi、drawable-ldpi的区别:
(1)drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)
(2)drawable-mdpi里面存放中等分辨率的图片,如HVGA (320x480)
(3)drawable-ldpi里面存放低分辨率的图片,如QVGA (240x320)
系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片

4.>dp:Density-independent pixels,
dp是虚拟像素,在不同的像素密度的设备上会自动适配,
在320x480分辨率,像素密度为160,1dp=1px
在480x800分辨率,像素密度为240,1dp=1.5px
计算公式:1dp*像素密度/160 = 实际像素数.

5.>dp和px的换算公式 :

dp*ppi/160 = px。比如1dp x 320ppi/160 = 2px。

在代码中,px和dp之间的转化公式:
/**
* 根据手机的分辨率从 dp 的单位 转成为 px(像素)
*/
public static int dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}

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

Android中dp,px,sp概念梳理以及如何做到屏幕适配

今天又开始我的App开发,因为之前一直做的是SDK,所以涉及到界面UI很少,ga
  • jiangwei0910410003
  • jiangwei0910410003
  • 2014年10月27日 17:54
  • 65023

屏幕适配,px和dp, sp换算公式

换算公式: PPI =(长度像素数² + 宽度像素数²) / 屏幕对角线英寸数 px = dp*ppi/160 dp = px / (ppi / 160) sp = px / (ppi / 16...
  • qq_25804863
  • qq_25804863
  • 2015年10月21日 22:16
  • 5599

不写代码,快速实现px转换成dp

有很多朋友在实际的工作中,会遇到设计同事给了一张设计图,上面只有px标注的距离和尺寸。产品看到设计稿后,就拿给iOS和Android的开发,说就按这个做。iOS开发可能还好,虽然也有9种屏幕,但那毕竟...
  • hello_1s
  • hello_1s
  • 2016年09月21日 09:46
  • 622

Android之px 与 dp, sp换算公式

PPI = Pixels per inch,每英寸上的像素数,即 "像素密度" xhdpi: 2.0hdpi: 1.5mdpi: 1.0 (baseline)ldpi: 0.75 drawable...
  • u011068702
  • u011068702
  • 2015年09月29日 10:19
  • 2779

android中px,dp,sp的区别与使用方法

android中px,dp,sp的区别与使用方法。最近又在重头看android视频,不同的是又换了一个人的视频重新学习一次,不过好在还是很有收获,把以前概念不是很清楚的东西终于完整的弄懂了,感觉还是很...
  • bigevil
  • bigevil
  • 2015年05月04日 11:28
  • 947

Android像素单位dp、sp、px、pt的区别和比较

目录结构目录结构 前言 度量单位含义 换算规则前言在分辨率没有牛逼到爆的过去,程序员通常以像素为单位设计计算机用户界面。例如,图片大小为80×32像素。这样处理的问题在于,如果在一个每英寸像素点数更高...
  • zinss26914
  • zinss26914
  • 2015年02月11日 11:56
  • 4445

CSS中那些px、em、pt、rem、%、dp(android)单位

未经允许,不得转载!! 水平有限,写的不周之处欢迎指正、交流! 在前端开发中,遇到单位的时候会有几种选择,那到底用哪种单位才是最合适的呢? 在国内的一些美工设计大师,在设计的时候多偏向于px单位,...
  • ime33
  • ime33
  • 2017年01月14日 10:28
  • 3129

Android中px、dp、dip、sp详解

众所周知,Android厂商非常多,各种尺寸的Android手机、平板层出不穷。导致了Android生态环境的碎片化现象越来越严重。Google公司为了解决分辨率过多的问题,在Android的开发文档...
  • sky1203850702
  • sky1203850702
  • 2014年09月24日 15:09
  • 12833

android中px与sp,dp之间的转换

由于Android手机厂商很多,导致了不同设备屏幕大小和分辨率都不一样,然而我们开发者要保持在不同设备上显示同样的视觉效果,就需要做一些适配效果。 相关名词解释 屏幕大小:通常指的是屏幕对角线的长...
  • qidingquan
  • qidingquan
  • 2016年12月17日 22:00
  • 2632

Android 获取控件的宽高 dp和px之间的转换

public class MainActivity extends Activity { private ImageView imageView; private String TAG="de...
  • sinat_18754601
  • sinat_18754601
  • 2014年08月01日 17:45
  • 1307
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:dp与px
举报原因:
原因补充:

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