`

Android,关于设备独立像素(dip/dp),关于机型屏幕适配

阅读更多
虚拟像素单位, 用于定义应用的UI, 以密度无关的方式表达布局尺寸或位置.
 
android官方定义dip等价于160dpi屏幕下的一个物理像素点.
 
在运行时, android根据使用中的屏幕的实际密度, 透明地处理任何所需dp单位的缩放.
 
dp到屏幕像素的转换公式: pixels = dps * (density / 160).
 
举例来说, 在 240 dpi 的屏幕上, 1dp 等于 1.5物理像素.
 
强烈推荐使用dp单位来定义你的应用UI, 这是确保你的UI在不同屏幕上显示的一个好方法.
 
  • Android平台划分几个的实际支持的屏幕尺寸和分辨率范围
    • 4个通用尺寸: 
      • small: 至少 426dp x 320dp
      • normal: 至少 470dp x 320dp
      • large: 至少 640dp x 480dp
      • xlarge: 至少 960dp x 720dp -- Android 2.3 (API Level 9)
    • 4个通用屏幕密度: 
      • ldpi (low)
      • mdpi (medium)
      • hdpi (high)
      • xhdpi (extra high): -- Android 2.2 (API Level 8)

Android,关于设备独立像素(dip/dp),关于机型屏幕适配.
图1: Android平台如何将真实屏幕密度和大小映射到通用的密度和尺寸配置.


表 1. Android SDK中包含的模拟器皮肤的屏幕尺寸和密度,以及其他典型的分辨率.

  Size Low density (120), ldpi Medium density (160), mdpi High density (240), hdpi Extra high density (320), xhdpi Small screen Normal screen Large screen Extra Large screen
2 ~ 3.5 inch QVGA (240x320)   480x640   
3+ ~ 4.5 inch WQVGA400 (240x400)  
WQVGA432 (240x432)
HVGA (320x480) WVGA800 (480x800)  
WVGA854 (480x854)  
600x1024 
640x960 
4+ ~ 7 inch WVGA800** (480x800) 
WVGA854** (480x854)
WVGA800* (480x800)  
WVGA854* (480x854)  
600x1024
   
7 ~ 10+ inch 600x1024 768x1024 
WXGA (768x1280)  
800x1280 
1152x1536 
1152x1920  
1200x1920
1536x2048 
1536x2560  
1600x2560 

* 要模拟此配置, 使用WVGA800 或 WVGA854创建一个AVD, 指定自定义密度160.
** 要模拟此配置, 使用WVGA800 或 WVGA854创建一个AVD, 指定自定义密度120.

 
ps: 增加辅助工具类:
  1. import android.content.Context;  
  2.   
  3. public class DensityUtil {  
  4.   
  5.       
  6.     public static int dip2px(Context context, float dpValue) {  
  7.         final float scale = context.getResources().getDisplayMetrics().density;  
  8.         return (int) (dpValue * scale + 0.5f);  
  9.     }  
  10.   
  11.       
  12.     public static int px2dip(Context context, float pxValue) {  
  13.         final float scale = context.getResources().getDisplayMetrics().density;  
  14.         return (int) (pxValue / scale + 0.5f);  
  15.     }  
  16. }  
分享到:
评论

相关推荐

    Android像素转换dp转px或相反

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

    dip/px互转

    "dip"(density-independent pixels)和"px"(pixels)是Android中两种常用的尺寸单位,它们在屏幕适配和界面设计中起着关键作用。 **1. dpi与像素密度** 首先,我们需要理解dpi(dots per inch,每英寸点数)。dpi...

    android开发之dip,dp与px像素之间的转换工具,

    在Android开发中,理解和使用dip(设备独立像素)、dp(密度无关像素)以及px(像素)是非常重要的,因为它们关系到应用在不同分辨率屏幕上的显示效果。本篇将详细介绍这三个概念及其相互转换。 首先,像素(px)是...

    android屏幕适配px工具类

    在Android系统中,屏幕适配的核心是理解并利用密度独立像素(dp/dip)和像素比(scale density)。dp是一种抽象单位,与设备的物理像素无关,而是基于设备的密度进行计算。1dp在所有设备上都应该占据相同大小的空间...

    dip, dp, px, sp区别 android

    dip 代表 device independent pixels(设备独立像素),它是一种与设备无关的单位,主要用于支持 WVGA、HVGA 和 QVGA 等多种分辨率的设备。使用 dip 可以使得用户界面在不同的设备上保持一致的显示效果。 相比之下...

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

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

    android屏幕适配方案

    在Android开发中,屏幕适配是一项至关重要的任务,因为Android设备有着广泛的屏幕尺寸和分辨率,从小型手机到大型平板电脑不一而足。一个良好的屏幕适配方案能够确保应用程序在不同设备上显示一致且用户体验良好。...

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

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

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

    5. **dp(设备独立像素)**:dp,全称为device-independent pixels,是一种基于设备密度的抽象单位。在160dpi(dots per inch,每英寸点数)的标准屏幕密度下,1dp等于1px。在其他密度的屏幕上,系统会自动调整dp的...

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

    总结起来,`dimens`资源文件在Android开发中扮演着至关重要的角色,它帮助我们实现像素与密度独立单位之间的转换,使得UI设计能够在各种屏幕尺寸和密度的设备上保持良好的视觉一致性。通过合理使用`dimens.xml`,...

    屏幕适配android

    本资源提供了一些关于Android屏幕适配的代码示例,适合开发者们学习和参考,以便更好地处理不同设备间的显示差异。 屏幕适配的核心目标是确保应用在不同屏幕尺寸和密度上都能呈现出良好的用户体验。以下是一些关键...

    UI——dp、dip、px、dpi、density概念及关系

    dp 是 Android 中推荐使用的单位,因为它可以根据设备的屏幕密度进行调整,确保在不同设备上的显示效果一致。 dip(Device independent pixels,设备独立像素) dip 是 dp 的别名,它们是相同的概念,都是设备独立...

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

    1. dip (device independent pixels) - 设备独立像素: 这是一种基于设备的物理特性(如屏幕密度)的抽象单位,旨在确保UI元素在不同分辨率的屏幕上看起来大小一致。例如,1dip在160dpi的设备上等于1px。当设计适配...

    android xml 布局像素问题

    1. **dip (设备独立像素)**: 设备独立像素是一种不依赖于物理像素的单位,它的大小会根据设备的屏幕密度进行调整。这意味着1dip在不同密度的屏幕上所代表的实际像素数量是不同的。dip常用来确保UI元素在不同屏幕密度...

    android开发尺寸适配

    在Android开发中,尺寸适配是一项至关重要的任务,因为Android设备有着各种各样的屏幕尺寸和分辨率,从手机到平板,甚至是智能电视。本教程将深入探讨如何在Android应用中实现有效的尺寸适配,确保用户在不同设备上...

    android屏幕适配[参照].pdf

    在Android开发中,屏幕适配是一项至关重要的任务,因为Android设备拥有广泛的屏幕尺寸和像素密度。以下是关于Android屏幕适配的详细知识点: 1. **屏幕相关概念** - **解析度**:指的是屏幕水平和垂直方向上的像素...

    比较android px sp dip单位

    在Android开发中,理解并正确使用像素(px)、密度独立像素(dp)和可缩放像素(sp)是非常重要的。这些单位是构建用户界面时必须掌握的基础知识,因为它们直接影响到应用在不同屏幕密度设备上的显示效果。让我们...

    android dp和px之间转换

    在Android开发过程中,经常需要处理不同屏幕尺寸和密度下的UI适配问题。其中,DP(Density-independent Pixel)和PX(Pixel)是两种常见的单位,它们之间的转换对于实现良好的跨设备用户体验至关重要。 #### DP与PX...

Global site tag (gtag.js) - Google Analytics