虚拟像素单位, 用于定义应用的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)
- 4个通用尺寸:
图1: Android平台如何将真实屏幕密度和大小映射到通用的密度和尺寸配置.
表 1. Android SDK中包含的模拟器皮肤的屏幕尺寸和密度,以及其他典型的分辨率.
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: 增加辅助工具类:
- import android.content.Context;
- public class DensityUtil {
- 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);
- }
- }
相关推荐
在Android开发中,像素(px)和密度独立像素(dp/dip)是两个重要的尺寸单位。理解它们之间的转换关系对于创建适配不同设备屏幕的UI至关重要。本文将深入探讨Android像素转换,包括dp转px以及px转dp的方法,并提供...
"dip"(density-independent pixels)和"px"(pixels)是Android中两种常用的尺寸单位,它们在屏幕适配和界面设计中起着关键作用。 **1. dpi与像素密度** 首先,我们需要理解dpi(dots per inch,每英寸点数)。dpi...
在Android开发中,理解和使用dip(设备独立像素)、dp(密度无关像素)以及px(像素)是非常重要的,因为它们关系到应用在不同分辨率屏幕上的显示效果。本篇将详细介绍这三个概念及其相互转换。 首先,像素(px)是...
在Android系统中,屏幕适配的核心是理解并利用密度独立像素(dp/dip)和像素比(scale density)。dp是一种抽象单位,与设备的物理像素无关,而是基于设备的密度进行计算。1dp在所有设备上都应该占据相同大小的空间...
dip 代表 device independent pixels(设备独立像素),它是一种与设备无关的单位,主要用于支持 WVGA、HVGA 和 QVGA 等多种分辨率的设备。使用 dip 可以使得用户界面在不同的设备上保持一致的显示效果。 相比之下...
本文将详细解析Android中常见的五种尺寸单位:dip(设备独立像素)、dp(密度无关像素)、sp(可缩放像素)、pt(点)和px(像素),并探讨它们之间的关系和应用场景。 首先,我们来了解一下px(像素)。像素是屏幕...
在Android开发中,屏幕适配是一项至关重要的任务,因为Android设备有着广泛的屏幕尺寸和分辨率,从小型手机到大型平板电脑不一而足。一个良好的屏幕适配方案能够确保应用程序在不同设备上显示一致且用户体验良好。...
在Android开发中,为了确保应用在不同分辨率和屏幕尺寸上的显示效果一致,开发者需要掌握几种关键的尺寸单位,包括dip(或dp)、px、sp以及它们之间的转换关系。 #### 1. dip(dp) **dip**(device-independent ...
5. **dp(设备独立像素)**:dp,全称为device-independent pixels,是一种基于设备密度的抽象单位。在160dpi(dots per inch,每英寸点数)的标准屏幕密度下,1dp等于1px。在其他密度的屏幕上,系统会自动调整dp的...
总结起来,`dimens`资源文件在Android开发中扮演着至关重要的角色,它帮助我们实现像素与密度独立单位之间的转换,使得UI设计能够在各种屏幕尺寸和密度的设备上保持良好的视觉一致性。通过合理使用`dimens.xml`,...
本资源提供了一些关于Android屏幕适配的代码示例,适合开发者们学习和参考,以便更好地处理不同设备间的显示差异。 屏幕适配的核心目标是确保应用在不同屏幕尺寸和密度上都能呈现出良好的用户体验。以下是一些关键...
dp 是 Android 中推荐使用的单位,因为它可以根据设备的屏幕密度进行调整,确保在不同设备上的显示效果一致。 dip(Device independent pixels,设备独立像素) dip 是 dp 的别名,它们是相同的概念,都是设备独立...
1. dip (device independent pixels) - 设备独立像素: 这是一种基于设备的物理特性(如屏幕密度)的抽象单位,旨在确保UI元素在不同分辨率的屏幕上看起来大小一致。例如,1dip在160dpi的设备上等于1px。当设计适配...
在Android开发中,尺寸适配是一项至关重要的任务,因为Android设备有着各种各样的屏幕尺寸和分辨率,从手机到平板,甚至是智能电视。本教程将深入探讨如何在Android应用中实现有效的尺寸适配,确保用户在不同设备上...
在Android开发中,屏幕适配是一项至关重要的任务,因为Android设备拥有广泛的屏幕尺寸和像素密度。以下是关于Android屏幕适配的详细知识点: 1. **屏幕相关概念** - **解析度**:指的是屏幕水平和垂直方向上的像素...
在Android开发中,理解并正确使用像素(px)、密度独立像素(dp)和可缩放像素(sp)是非常重要的。这些单位是构建用户界面时必须掌握的基础知识,因为它们直接影响到应用在不同屏幕密度设备上的显示效果。让我们...
在Android开发过程中,经常需要处理不同屏幕尺寸和密度下的UI适配问题。其中,DP(Density-independent Pixel)和PX(Pixel)是两种常见的单位,它们之间的转换对于实现良好的跨设备用户体验至关重要。 #### DP与PX...
在Android应用开发中,屏幕适配是一个至关重要的环节,因为它确保了应用能在各种尺寸和分辨率的设备上正常显示。在Android 1.5版本及以后,开发者可以通过创建针对不同屏幕尺寸和密度的资源文件夹来解决自适应问题。...