您的位置:首页 > 产品设计 > UI/UE

关于UI切图与开发 px和dp

2016-08-02 00:00 435 查看
在群里看到一张表,(一位号称 陈大冲 )的大神制作的.



然后通过搜索在网上找到了如下的两个个公式:

dp=px*160/dpi

px=dp*dpi/160

一般我们在Android开发中进行两者之间的转换时用得是下面的方法:

public class DensityUtil {

/**
* 根据手机的分辨率从 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);
}
}

关于 density 有这样一篇博客:

http://erbo2008.iteye.com/blog/1149788

其中介绍: density表示每英寸有多少个显示点(逻辑值),它的单位是dpi:dot per inch,通常屏幕大时,density就大,屏幕小时,density就小

关于查看手机的分辨率和密度:



出自adb命令集合:https://github.com/mzlogin/awesome-adb
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息