dp和dip转换

来源:互联网 发布:网络怎么赚钱? 编辑:程序博客网 时间:2024/05/16 11:00

转自:http://mobile.51cto.com/aprogram-375650.htm

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

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

  1. import android.content.Context;   
  2.    
  3. public class DensityUtil {   
  4.    
  5.     /**  
  6.      * 根据手机的分辨率从 dp 的单位 转成为 px(像素)  
  7.      */   
  8.     public static int dip2px(Context context, float dpValue) {   
  9.         final float scale = context.getResources().getDisplayMetrics().density;   
  10.         return (int) (dpValue * scale + 0.5f);   
  11.     }   
  12.    
  13.     /**  
  14.      * 根据手机的分辨率从 px(像素) 的单位 转成为 dp  
  15.      */   
  16.     public static int px2dip(Context context, float pxValue) {   
  17.         final float scale = context.getResources().getDisplayMetrics().density;   
  18.         return (int) (pxValue / scale + 0.5f);   
  19.     }   
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 gethostbyname 分节符快捷键 ErrorPage! Reason:*Networkbusy*InvalidURL*Failedto install_flash_player_10_active_x 伊织 伊织调教 起重机司机学习 ssni 输入梯形上底下底高,输出面积 python语言,输入梯形上底下底高输出面积 网易产品 https://www.csdndoc.com/blog/390696 https://www.cocoacontrols.com 风之教堂 黄色网站 AV网站 439973416 فیلترشکن WS_CLIPCHILDREN设置键在哪里 数据结构(严蔚敏李冬梅)课后答案 ipz809 一个字包含的二进制位数 linux面试 【题目2】设计一个结构体类型,包含姓名、出生日期。其中出生日期又包含年、月、日三部分信息。输入n个好 【题目2】设计一个结构体类型,包含姓名、出生日期。其中出生日期又包含年、月、日三部分信息。输入n个好 结构体比较好友中年纪最小的 matlab三维矩阵可视化 使QQ崩溃 scanIP 按照规定,在高速公路上行使的机动车,达到或超出本车道限速的10%则处200元罚款;若达到或超出50% c语言输入三个数字 c语言如何输入三个数求平均值 c语言如何输入三个数求和 C语言为什么只录入了第一个数字 输入多个数字 c语言scanf只有第一个数字 scanf三个整数 double double类型 www和http 会计