Android中dip(dp)与px之间单位转换
dp这个单位可能对web开发的人比较陌生,因为一般都是使用px(像素)
但是,现在在开始android应用和游戏后,基本上都转换成用dp作用为单位了,因为可以支持多种分辨率的手机.
以下是这两个单位的概念:
px (pixels)像素 –一个像素通常被视为图像的最小的完整采样,这个用的比较多,特别是web开发,页面基本都是使用像素作为单位的.
dip或dp (device independent pixels)设备独立像素 — 这个和设备硬件有关,一般我们为了支持手机上多种分辨率,如WVGA、HVGA和QVGA,都会使用dip作为长度的单位
在Android开发我们一般都可以不需要使用px的,但是某一些控件的属性没有直接支持dip,像下面的代码
android.view.ViewGroup.LayoutParams.height
android.view.ViewGroup.LayoutParams.width上面这两个属性的单位为像素,但是为了兼容多种分辨率的手机,我们需要最好使用dip,时候我们可以调用以下的代码进行转换.
int heightPx= DisplayUtil.dip2px(this, 33);
mTabHost.getTabWidget().getChildAt(i).getLayoutParams().height = heightPx;
以上代码可以在我另一篇文章看得到.该功能是设置Tab的高度,单位是像素.以上的单位转换是为了支持多分辨率手机的.
该文章的地址 : [Android中TabHost的使用]
/**
* 根据手机的分辨率从 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的dip dp px dp等单位及其转换关系
android开发之dip,dp与px像素之间的转换工具,博文介绍:http://blog.csdn.net/qq_21376985/article/details/51704703
dip dp px sp区别 dip dp px sp区别 dip dp px sp区别
在xml布局文件中,我们既可以设置px,也可以设置dp(或者dip)。一般情况下,我们都会选择使用dp,这样可以保证不同屏幕分辨率的机器上布局一致。但是在代码中,如何处理呢?很多控件的方法中都只提供了设置px的方法...
Andrid上dip、dp、px、sp等单位说明,有助于同学们对各个单位的了解
Android的计量单位px,in,mm,pt,dp,dip,sp Android的计量单位px,in,mm,pt,dp,dip,sp
NULL 博文链接:https://1307111376.iteye.com/blog/1986752
这里要特别注意dip与屏幕密度有关,而屏幕密度又与具体的硬件有关,硬件设置不正确,有可能导致dip不能正常显示。在屏幕密度为160的显示屏上,1dip=1px,有时候可能你的屏幕分辨率很大如480*800,但是屏幕密度没有...
Android中显示单位px和dip以及sp的区别
简单的比较android各个单位的小程序
dip/px互转工具
px转dip小工具,界面类似于计算器。 快捷键说明: 0~9 键:呃……这个不用说了吧。 退格键:也不说了。 回车键:转换。 ESC 键:清零。 Ctrl+c:复制。 Ctrl+v:粘贴。 F1~F4 :ldpi~xhdpi. Alt+F4:好吧,这个不是我...
基于SWT写的一个px转dip工具,类似计算器的界面。呃……第一写SWT,文件有点大……
你还在为开发Android的像素而烦恼吗?赶快下载行动起来吧!里面说的非常详细!!
1、概述过去,程序员通常以像素为单位设计计算机用户界面。例如:图片大小为80×32像素。这样处理的问题在于,如果在一个每英寸点数(dpi)更高的新显示器上运行该程序,则用户界面会显得... dp: dip是一样的px: pixels
UI——dp、dip、px、dpi、density概念及关系
android sp dp px dip pt in mm 等单位