`

Android中px与dip,sp与dip等的转换工具类(转)

 
阅读更多
http://www.cnblogs.com/wader2011/archive/2011/11/28/2266684.html

Android中px与dip,sp与dip等的转换工具类

功能

通常在代码中设置组件或文字大小只能用px,通过这个工具类我们可以把dip(dp)或sp为单位的值转换为以px为单位的值而保证大小不变。方法中的参数请参考http://www.cnblogs.com/wader2011/archive/2011/11/28/2266669.html

代码

/**
* Android大小单位转换工具类
*
* @author wader
*
*/
public class DisplayUtil {
/**
  * 将px值转换为dip或dp值,保证尺寸大小不变
  *
  * @param pxValue
  * @param scale(DisplayMetrics类中属性density)
  * @return
  */
public static int px2dip(float pxValue, float scale) {
  return (int) (pxValue / scale + 0.5f);
}

/**
  * 将dip或dp值转换为px值,保证尺寸大小不变
  *
  * @param dipValue
  * @param scale(DisplayMetrics类中属性density)
  * @return
  */
public static int dip2px(float dipValue, float scale) {
  return (int) (dipValue * scale + 0.5f);
}

/**
  * 将px值转换为sp值,保证文字大小不变
  *
  * @param pxValue
  * @param fontScale(DisplayMetrics类中属性scaledDensity)
  * @return
  */
public static int px2sp(float pxValue, float fontScale) {
  return (int) (pxValue / fontScale + 0.5f);
}

/**
  * 将sp值转换为px值,保证文字大小不变
  *
  * @param spValue
  * @param fontScale(DisplayMetrics类中属性scaledDensity)
  * @return
  */
public static int sp2px(float spValue, float fontScale) {
  return (int) (spValue * fontScale + 0.5f);
}
}
分享到:
评论

相关推荐

    Androd px转dip和sp

    2. `dip`或`sp`转`px`:公式是`(dipOrSp * density) + (dipOrSp * density * 0.5f)`,其中`density`是屏幕密度,`dipOrSp`是需要转换的`dip`或`sp`值,乘以0.5f是为了四舍五入到最近的整像素。 在实际开发中,我们...

    比较android px sp dip单位

    为了测试不同单位的效果,可以创建一个小程序,如Testpx_sp_dip,这个程序可能包含多个按钮、文本视图等组件,分别使用px、dp和sp进行布局,并在不同的设备或模拟器上运行,观察其在不同密度屏幕上的表现。...

    Android中显示单位px和dip以及sp的区别.doc

    Android 中显示单位 px、dip、sp 等的区别是 Android 开发中一个非常重要的概念。了解这些单位的区别可以帮助开发者更好地设计和开发 Android 应用程序。 首先,px 代表 pixels,即像素。px 是 Android 中最基本的...

    Android中dip、dp、sp、pt和px的区别

    本文将详细解析Android中常见的五种尺寸单位:dip(设备独立像素)、dp(密度无关像素)、sp(可缩放像素)、pt(点)和px(像素),并探讨它们之间的关系和应用场景。 首先,我们来了解一下px(像素)。像素是屏幕...

    dip, dp, px, sp区别 android

    "Android 中的 dip, dp, px, sp 单位区别" Android 中的单位系统是一个复杂的问题,对于开发人员来说,选择正确的单位是非常重要的。在 Android 中,我们常见的单位有 dip, dp, px, sp 等,这些单位都有其特点和...

    Android像素转换dp转px或相反

    在Android开发中,像素(px)和密度独立像素(dp/dip)是两个重要的尺寸单位。理解它们之间的转换关系对于创建适配不同设备屏幕的UI至关重要。本文将深入探讨Android像素转换,包括dp转px以及px转dp的方法,并提供...

    引用 Android上dip、dp、px、sp等单位说明

    ### 引用 Android上dip、dp、px、sp等单位说明 在Android开发中,为了确保应用在不同分辨率和屏幕尺寸上的显示效果一致,开发者需要掌握几种关键的尺寸单位,包括dip(或dp)、px、sp以及它们之间的转换关系。 ###...

    dimens资源文件实现px值与dp值、sp值之间的转化

    本主题将深入探讨如何利用`dimens`资源文件实现像素(px)、密度独立像素(dp)和可缩放像素(sp)之间的转换,以及它在UI适配中的重要作用。 首先,我们需要理解Android屏幕的密度概念。Android设备有多种不同的...

    android屏幕适配px工具类

    "android屏幕适配px工具类"就是为了解决这一问题而设计的,它可以帮助开发者更方便地处理像素(px)单位转换,确保应用在不同屏幕上的显示效果一致。 在Android系统中,屏幕适配的核心是理解并利用密度独立像素(dp...

    Android的计量单位px,in,mm,pt,dp,dip,sp

    在Android开发中,理解和使用正确的计量单位对于创建适应各种屏幕尺寸和密度的应用至关重要。以下是对Android中几种主要计量单位的详细解释: 1. **px(像素)**:像素是屏幕的最小显示单位,代表显示器上一个点的...

    px、dip、sp区别和使用方法

    px、dip、sp区别和使用方法;搜索了那么多,就这个看得明白。

    Adnroid 中dip、dp、px、sp等单位说明

    让我们深入探讨一下Android中的dip、dp、px、sp等单位。 1. dip (device independent pixels) - 设备独立像素: 这是一种基于设备的物理特性(如屏幕密度)的抽象单位,旨在确保UI元素在不同分辨率的屏幕上看起来...

    android布局单位sp,dp,pt,px的区别

    在Android开发中,为了确保应用在不同屏幕尺寸和密度下的适应性和一致性,使用了多种布局单位,其中最为常见的包括sp、dp(或dip)、pt和px。这些单位各有其特性和应用场景,理解它们之间的差异对于创建响应式和用户...

    解析android中的dip,dp,px,sp和屏幕密度

    本文将深入解析Android中的dip, dp, px, sp这四个关键概念,以及它们与屏幕密度的关系。 1. dip(设备独立像素) dip,全称device independent pixels,是Android中用来实现跨设备一致性显示的单位。它不受物理像素...

    基于Android中dp和px之间进行转换的实现代码

    在Android开发中,尺寸单位是理解用户界面布局和视觉效果的关键因素。dp(Density-independent Pixel)和px(Pixel)是两种常见的...通过`DensityUtil`类这样的辅助工具,开发者可以轻松地在代码中实现这一转换过程。

    Android手机屏幕px与dp互转的工具类

    本文将详细讨论Android中像素(px)、设备独立像素(dp)以及可缩放像素(sp)的概念,并提供一个用于屏幕像素与设备独立像素之间转换的工具类。 首先,我们需要理解像素(Pixels, px)的概念。像素是屏幕上的最小显示单元...

    Android dip,px,pt,sp 的区别详解

    以下是关于Android中dip, px, pt, sp的区别详解: 1. dip(设备独立像素,Device Independent Pixels):dip是一种抽象单位,旨在确保在不同密度的屏幕上元素看起来具有相同的大小。它不直接对应于物理像素,而是...

Global site tag (gtag.js) - Google Analytics