`
jackeysion
  • 浏览: 129313 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Android度量单位dp、dip、sp、px等

阅读更多
1. dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。

这里要特别注意dip与屏幕密度有关,而屏幕密度又与具体的硬件有关,硬件设置不正确,有可能导致dip不能正常显示。在屏幕密度为160的显示屏上,1dip=1px,有时候可能你的屏幕分辨率很大如480*800,但是屏幕密度没有正确设置比如说还是160,那么这个时候凡是使用dip的都会显示异常,基本都是显示过小。

     dip的换算:
           dip(value)=(int) (px(value)/1.5 + 0.5)

2. dp: 很简单,和dip是一样的。

3. px: pixels(像素),不同的设备不同的显示屏显示效果是相同的,这是绝对像素,是多少就永远是多少不会改变。

4.  sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。


备注: 根据google的推荐,像素统一使用dip,字体统一使用sp  

举个例子区别px和dip:

px就是像素,如果用px,就会用实际像素画,比个如吧,用画一条长度为240px的横线,在480宽的模拟器上看就是一半的屏宽,而在320宽的模拟器上看就是2/3的屏宽了。

而dip,就是把屏幕的高分成480分,宽分成320分。比如你做一条160dip的横线,无论你在320还480的模拟器上,都是一半屏的长度。



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中dip、dp、sp、pt和px的区别详解

    1、概述过去,程序员通常以像素为单位设计计算机用户界面。例如:图片大小为80×32像素。这样处理的问题在于,如果在一个每英寸点数(dpi)更高的新显示器上运行该程序,则用户界面会显得... dp: dip是一样的px: pixels

    Android上常见度量单位【xdpi、hdpi、mdpi、ldpi】解读.doc

    "Android上常见度量单位【xdpi、hdpi、mdpi、ldpi】解读" Android系统中,度量单位是非常重要的一部分,对于开发者来说,了解这些度量单位是非常必要的。在Android系统中,屏幕尺寸、屏幕长宽比、分辨率、密度等...

    Android高级应用源码-计算自己手机的屏幕宽高,density值,px 宽高,dp 的宽高,及px 和dp互转的科普.zip

    在Android中,dp(density-independent pixels)是一种与设备密度无关的度量单位,用于保持UI元素在不同分辨率的屏幕上的一致性。px 到 dp 的转换公式为: `dpValue = pxValue / density` 反之,dp 到 px 的转换...

    第14章 CSS颜色与度量单位

    1. 像素(px):固定大小的单位,1像素通常对应屏幕的一个物理点。 2. 百分比(%):相对于父元素尺寸的比例,如`width: 50%;`表示宽度为父元素的一半。 3. em:相对于元素的字体大小,常用于文本相关的尺寸调整。 4...

    度量单位换算工具

    度量单位换算工具 excel度量单位换算工具 方便度量单位换算工具

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

    设备独立像素(Density-Independent Pixels, dp或dip)是一种抽象的度量单位,它与设备的物理像素密度无关。dp旨在确保在不同密度的屏幕上,UI元素保持相对一致的大小。例如,如果你在一个密度为160dpi的屏幕上设置一...

    Android Studio+简单的米英尺单位转化app的实现

    这个资源是关于在 Android Studio 中设计的转换器应用程序,用来转换米和英尺之间的单位。通常情况下,我们可能需要在不同的测量标准之间进行转换,因此该资源对于需要进行度量转换的用户具有很高的实用价值。 这个...

    android xml 布局像素问题

    本文将深入探讨Android中四个主要的像素单位:dip, dp, px, 和 sp,并解释它们的区别以及如何在实际开发中正确使用。 1. **dip (设备独立像素)**: 设备独立像素是一种不依赖于物理像素的单位,它的大小会根据设备的...

    掌握好Office的“分寸”-Office中常见度量单位

    度量单位包括磅、像素、毫米、厘米和英寸等,它们在不同的场景下有不同的应用。下面我们将详细探讨这些度量单位以及它们在Word和Excel中的设置和使用。 首先,Word的默认度量单位可以在“工具”菜单的“选项”...

    EasyConversion:Android应用程序在度量单位之间进行转换

    《简易转换:Android应用程序在度量单位之间的便捷换算》 在信息技术日益发达的今天,移动设备上的应用程序已经成为人们日常生活和工作中不可或缺的一部分。"EasyConversion"是一款专为Android平台设计的度量单位...

    第14章 CSS颜色与度量单位.pdf

    绝对长度单位是现实世界中的测量单位,CSS支持五种:英寸(in),厘米(cm),毫米(mm),磅(pt),派卡(pc),还有像素(px),像素是一个与设备分辨率挂钩的单位,但通常也被当作绝对单位来使用。相对长度单位则是在绝对...

    计算手机屏幕宽高工具

    此外,Android还引入了sp(scaled pixel,可缩放像素)单位,用于字体大小的设置,它与dp类似,但会根据用户的字体大小设置进行调整。 总结来说,“计算手机屏幕宽高工具”旨在帮助开发者和设计师了解和处理手机...

    单位、度量、日期和温度转换器源代码..rar

    这个压缩包文件"单位、度量、日期和温度转换器源代码..rar"显然包含了一个使用Delphi编写的实用程序,该程序能够进行各种单位、度量、日期和温度的转换。以下是对这些转换功能的详细解释: 1. **单位转换**:在软件...

    安卓 dp 适配 算法

    `dp`(Density-independent Pixel,密度无关像素)是安卓系统中用于度量界面元素大小的一种单位,旨在帮助开发者创建可在不同密度屏幕之间自适应的用户界面。本文将深入探讨`dp`适配算法及其在支持多种分辨率中的...

    Android设备中获取屏幕相关参数

    屏幕参数包括分辨率、密度(DPI)以及像素单位DP(Density-independent Pixel)与实际像素(PX)之间的转换关系。让我们深入探讨这些概念及其在Android开发中的应用。 1. **分辨率**: Android屏幕的分辨率是指...

    Android针对不同的手机屏幕大小设计图片资源与编码

    此外,Android还提供了其他度量单位,如px(像素)、in(英寸)、mm(毫米)、pt(磅)和sp(用于文本大小,同时考虑密度和比例)。在XML布局中,建议TextView使用sp,其余元素使用dp。 通过调整资源文件中的图片...

    android简单控件例子

    - TextView控件的尺寸设置:可使用height、minHeight、maxHeight、width、minWidth和maxWidth属性定义控件的高度和宽度,并且可以指定不同的度量单位(如px、dp、sp、in和mm)。 3. EditText组件 EditText是用于...

    03-Android-APP-系统应用.pptx

    10.度量单位和网络:为了空间而考虑 48 dp 的设计韵律,注意留白。 Android UI 设计基础: 11.字体: Android 的设计语言继承了许多传统排版设计概念,例如比例、留白、韵律和网格对齐。 Android UI 设计基础:...

Global site tag (gtag.js) - Google Analytics