dp,px转换

public static int dip2px(Context context, float dpValue) {
        final float scale = context.getResources().getDisplayMetrics().density;
        return (int) (dpValue * scale + 0.5f);
    }
    
    public static int px2dip(Context context, float pxValue) {
        final float scale = context.getResources().getDisplayMetrics().density;
        return (int) (pxValue / scale + 0.5f);
    }

WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
        DisplayMetrics dm = new DisplayMetrics();
        wm.getDefaultDisplay().getMetrics(dm);
        float hh = (float)dm.heightPixels/3;
        float ww = (float)dm.widthPixels/3;

时间: 2025-01-01 14:46:48

dp,px转换的相关文章

[转]Android中dp,px,sp概念梳理以及如何做到屏幕适配

http://blog.csdn.net/jiangwei0910410003/article/details/40509571 今天又开始我的App开发,因为之前一直做的是SDK,所以涉及到界面UI很少,刚开始做Android应用的时候,没有对dp,px,sp等概念有一个深入的了解,只知道他们之间的转化,还有写个转换工具类等.做Android已经有一年多了,现在再次开始App开发,决定没遇到一个概念,必须得弄透彻.好吧,下面进入主题吧: 首先来看一下他们的基本概念: px   :是屏幕的像素点

Android中dp,px,sp概念梳理

今天又开始我的App开发,因为之前一直做的是SDK,所以涉及到界面UI很少,刚开始做Android应用的时候,没有对dp,px,sp等概念有一个深入的了解,只知道他们之间的转化,还有写个转换工具类等.做Android已经有一年多了,现在再次开始App开发,决定没遇到一个概念,必须得弄透彻.好吧,下面进入主题吧: 首先来看一下他们的基本概念: px   :是屏幕的像素点dp   :一个基于density的抽象单位,如果一个160dpi的屏幕,1dp=1pxdip  :等同于dpsp   :同dp相

dp,px,pt,sp 的区别 以及dp 和 px 互转

dp = dip : device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA.HVGA和QVGA 推荐使用这个,不依赖像素. px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多. pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用: sp: scaled pixels(放大像素). 主要用于字体显示best for

android 解释dp,px,pt,sp单位

1.dp(dip):不同设备有不同的显示效果,这个和设备硬件有关系,一般我们为了支持WVGA,HVGA和QVGA对剑使用这个,它是不依赖像素的 2.px:pixels(像素),不同设备显示效果相同,一般我们HVGA代表320×480像素,这个用的比较多 3.pt:point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用 4.sp:scaled pixels(放大像素),主要用于字体显示best for textsize 在apk的资源包中,当屏幕density=240时使

在线px转换rem工具

今天推荐一个在线工具,在线px转换rem工具 只要输入1rem = 多少px即可在线转换 和cssrem插件差不多的功能 rem在线转换工具: http://www.ofmonkey.com/front/rem 原文地址:https://www.cnblogs.com/zzz-knight/p/11657600.html

Android 中 px和dp 的转换

安卓开发中,布局文件中我们习惯使用dp单位,但是很多java代码的api中默认使用的是px单位(如 setPadding.setButtom.setLeft 等),这就需要我们在很多场景下进行dp和px的转换. 代码片段如下: public class DensityUtil { /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) * * @param context * @param dpValue * @return * @author SHANHY * @date 2015

dp和px转换

在编写自定义view的时候,通常会在onTouchEvent回调方法中进行一些关乎距离的判断逻辑,这里的距离常量如果适配到多分辨率的不同设备上时可能会出现一些错乱的问题. 所以一般来说,常常需要dp到Px的转换操作,常用的方法如下: 1. 定义常量,仅仅是个数字,但是隐含的单位为dp 2. 在使用该常量的时候,不是直接用常量的数字,而是先转换成px单位再使用 这样子就可以适配多分辨率了. 以下提供dp和px之间互换的方法: public class DensityUtil { public st

dp px 像素密度 分辨率

像素单位转换dp-px 直接转换: int dp= (int) (px / context.getResources().getDisplayMetrics().density + 0.5f); int px= (int) (dp * context.getResources().getDisplayMetrics().density + 0.5f); 封装为方法: /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public static int dp2px(Cont

Android度量单位说明(DIP,DP,PX,SP)

(一)概念 dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA.HVGA和QVGA 推荐使用这个,不依赖像素.px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多.pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用:sp: scaled pixels(放大像素). 主要用于字体显示best for tex