博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android中dp和px之间进行转换
阅读量:4981 次
发布时间:2019-06-12

本文共 1115 字,大约阅读时间需要 3 分钟。

在xml布局文件中,我们既可以设置px,也可以设置dp(或者dip)。一般情况下,我们都会选择使用dp,这样可以保证不同屏幕分辨率的机器上布局一 致。但是在代码中,如何处理呢?很多控件的方法中都只提供了设置px的方法,例如setPadding,并没有提供设置dp的方法。这个时候,如果需要设 置dp的话,就要将dp转换成px了。

以下是一个应用类,方便进行px和dp之间的转换。

import android.content.Context;    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); } }

From:

附加各种屏幕分辨率px与dpi对应关系:

2 px = 3 dip if dpi == 80(ldpi),	320x240 screen 1 px = 1 dip if dpi == 160(mdpi),	480x320 screen 3 px = 2 dip if dpi == 240(hdpi),	840x480 screen 2 px = 1 dip if dpi == 320(xhdpi),	960x640 screen 4 px = 3 dip if dpi == 213(nexus 7, xhdpi),	1280x800 screen

转载于:https://www.cnblogs.com/wzc0066/archive/2013/03/07/2948371.html

你可能感兴趣的文章
python调用shell小技巧
查看>>
TL431的几种常用用法
查看>>
js 经典闭包题目详解
查看>>
在项目中移除CocoaPods
查看>>
【洛谷】CYJian的水题大赛【第二弹】解题报告
查看>>
POJ 1703 Find them, Catch them【种类/带权并查集+判断两元素是否在同一集合/不同集合/无法确定+类似食物链】...
查看>>
L1-5. A除以B【一种输出格式错了,务必看清楚输入输出】
查看>>
Git一分钟系列--快速安装git客户端
查看>>
纵越6省1市-重新启动
查看>>
hive安装以及hive on spark
查看>>
jz1074 【基础】寻找2的幂
查看>>
Wannafly模拟赛5 A 思维 D 暴力
查看>>
【Linux开发】CCS远程调试ARM,AM4378
查看>>
Linux之ssh服务介绍
查看>>
排序:冒泡排序
查看>>
Java中instanceof关键字的用法总结
查看>>
引用类型-Function类型
查看>>
(转)Android 仿订单出票效果 (附DEMO)
查看>>
数据库多张表导出到excel
查看>>
微信小程序去除button默认样式
查看>>