android px、sp、dp之间的互转

public static int px2sp(Context context, float pxValue) {

final float fontScale = context.getResources().getDisplayMetrics().scaledDensity;

return (int) (pxValue / fontScale + 0.5f);

}

public static int sp2px(Context context, float spValue) {

final float fontScale = context.getResources().getDisplayMetrics().scaledDensity;

return (int) (spValue * fontScale + 0.5f);

}

public static int dip2px(Context context, float dipValue) {

final float scale = context.getResources().getDisplayMetrics().density;

return (int) (dipValue * scale + 0.5f);

}

public static int px2dip(Context context, float pxValue) {

final float scale = context.getResources().getDisplayMetrics().density;

return (int) (pxValue / scale + 0.5f);

}

android px、sp、dp之间的互转

时间: 2024-10-29 12:57:15

android px、sp、dp之间的互转的相关文章

Android px、dp和sp单位区别

[转]http://www.cnblogs.com/bjzhanghao/archive/2012/11/06/2757300.html 在调整布局的时候,某些控件的大小需要设置单位: px: 即像素,1px代表屏幕上一个物理的像素点: px单位不被建议使用,因为同样100px的图片,在不同手机上显示的实际大小可能不同,如下图所示(图片来自android developer guide,下同). 偶尔用到px的情况,是需要画1像素表格线或阴影线的时候,用其他单位如dp会显得模糊. dp: 这个是

px,sp,dp换算

PPI = Pixels per inch,每英寸上的像素数,即 "像素密度" xhdpi: 2.0 hdpi: 1.5 mdpi: 1.0 (baseline) ldpi: 0.75 drawable-ldpi.drawable-mdpi.drawable-hdpi 精度分别为低.中(android默认).高.对应的图片大小为:36x36.48x48.72x72. xxhdpi: 144*144 xhdpi:96*96 hdpi:72*72 mdpi:48*48 ldpi:36*36

Android px、dp、sp之间相互转换

dp(dip): device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA.HVGA和QVGA 推荐使用这个,不依赖像素.dp也就是dip,这个和sp基本类似.如果设置表示长度.高度等属性时可以使用dp 或sp.但如果设置字体,需要使用sp.dp是与密度无关,sp除了与密度无关外,还与scale无关.如果屏幕密度为160,这时dp和sp和px是一 样的.1dp=1sp=1px,但如果使用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相

Android 之px于dp在Java代码中的转换

现在由于用到了,使用代码进行动态布局,所以需要进行px于dp之间的转换. 现将其封装为方法,以便于调用. public int DpToPx(Context context,float dp){ float scale=context.getResource().getDisplayMetrics().density; return  (int) (dp * scale + 0.5f); } public int PxToDp(Context context,float px){ float s

Android单位转换 (px、dp、sp之间的转换工具类)

在Android开发中,涉及到屏幕视频问题的时候,px.dp.sp之间的转换比较重要的一部分,所以杨哥整理了一个工具类给大伙用. package com.zw.express.tool; import android.content.Context;import android.util.DisplayMetrics;/** * ydc * @author Administrator * */public class DensityUtils { /**     * 根据手机的分辨率从 dip

Android开发中dp,sp和px之间的转换

本文转载于 http://blog.csdn.net/student9128/article/details/53932470 众所周知,在Android开发中dp和px,sp和px之间的转换时必不可少的,下面将转换的代码记录下来: 1 public class DisplayUtils { 2 /** 3 * convert px to its equivalent dp 4 * 5 * 将px转换为与之相等的dp 6 */ 7 public static int px2dp(Context

Android px, dp, sp的区别

Android自兴起以来,开发者不断增加,与此同时市场上参差不齐的设备也不断增加,随之而来的则是开发者需要适配众多机型而带来的困扰与抱怨.并且随着不同厂家定制化不同的ROM,Android设备的碎片化现象日益严重.这篇文章主要讲述如何设计中严格遵从设计图标准的Android页面. 1. px, dp, sp区别 什么是px px就是我们通常所说的像素的单位,在css里面,我们用px比较多.px主要指用户在屏幕上看到的事物的实际大小单位. 什么是dp 在看手机或者电脑参数时,我们经常说到一个关键词