导航:首页 > 操作系统 > androidpx转dip

androidpx转dip

发布时间:2024-11-28 14:29:44

android中dp和px之间如何进行转换

在Android开发中常用到px,in,mm,pt,dp,dip,sp这几个单位px :是屏幕的像素点in :英寸mm :毫米pt :磅,1/72 英寸dp :一个基于density的抽象单位,如果一个160dpi的屏幕,1dp=1pxdip :等同于dpsp :同dp相似,但还会根据用户的字体大小偏好来缩放。

❷ px、dp、sp、dpi之间的区别和转换

px、dp、sp、dpi之间的区别和转换

区别:

px (pixels)像素 -- 是像素,就是屏幕上实际的像素点单位。(一般UI人员在ps中经常使用)

dp/dip 设备独立像素,android layout经常使用的尺寸单位,与设备屏幕有关,dp是虚拟像素,在不同的像素密度的设备上会自动适配。即与像素密度无关。

sp 放大像素,主要是处理字体的大小

dpi:Android支持四种不同的dpi模式:ldpi mdpi hdpi xhdpi

hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)

mdpi里面存放中等分辨率的图片,如HVGA (320x480)

ldpi里面存放低分辨率的图片,如QVGA (240x320)

转换:

a.首先了解常见的分辨率Resolution:

分辨率:指手机屏幕垂直和水平方向上的像素个数。比如分辨率是480*320,则指设备垂直方向有480个像素点,水平方向有320个像素点。

VGA 显示绘图矩阵 640×480

HVGA half 480×320

QVGA quarter 320x240

b.dpi像素密度,指每英寸中的像素数,该值对应于DisplayMetrics类中属性densityDpi的值

(例子:设备分辨率为320*240,屏幕长2英寸宽1.5英寸 dpi=320/2=240/1.5=160)

c.density屏幕密度,指每平方英寸中的像素数,在DisplayMetrics类中属性density的值为dpi/160(用这个进行dp sp之间的转化)

如图:

d.px 和 dp 互转换

计算公式:实际像素数px=1dp*像素密度(dpi)/160 =dp*density

在320x480分辨率,像素密度dpi为160,1dp=1px

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

/**

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

}

阅读全文

与androidpx转dip相关的资料

热点内容
wpstopdf转换器 浏览:639
怎么把pdf导入iphone 浏览:565
7z后缀文件解压缩 浏览:904
服务器为什么禁用三叉戟 浏览:934
解压小视频卸妆或化妆 浏览:554
太监程序员 浏览:56
java编译选项包括 浏览:432
安卓手机如何导其他手机的通讯录 浏览:931
离心式压缩机品牌 浏览:167
plc编程推荐什么电脑 浏览:935
安卓最新什么系统版本 浏览:193
甜颜app真人交友在哪里下载 浏览:335
电脑里好乱很多文件夹都是空 浏览:352
数学一窍不通可以学模具编程吗 浏览:271
退休程序员练字 浏览:693
海光服务器什么架构 浏览:138
战斗命令要素 浏览:953
app上哪里可以开鞋子盲盒 浏览:82
python多线程计划 浏览:384
华为模拟加密门id禁卡 浏览:555