主要的知识在:
http://xy0811.spaces.live.com/Blog/cns!F8AECD2A067A6B17!1508.entry
我这里只说说我自己的理解:
先说清楚一点:什么是显示点阵
显示点阵就是指在显示屏上长和宽各能显示出多少个像素点,或者在LED显示屏上长和宽有多少个LED会同时发光。
在显示屏上,真正能够显示出来的像素点是有限的,并不是说,你每英寸上的像素点越多就显示的越多。对于一个显示尺寸一定的显示屏,其能够显示的像素点是一定的,即其density是一定的。
在软件的显示单位是分辨率。分辨率相当于一个距阵,表示其中的点数。并不是分辨率越大,其显示屏就越大,这还要看其像素点的密度。如果分辨率一样,密度大的,其屏自然就会小。
由于在计算机中的字体是以像素为单位,所以当密度变大时,即分辨率变大的时候,其字体就越小,当密度变小时,即分辨率变小时,其字体就越大。
但对于density(显示点)来说,如果LED的技术不变,屏的大小不变的情况下,其值是不会变化的。
对于一个显示的界面,我们自然是希望,在屏的大小不变的情况下,不要变化,如果屏变大的情况下,也随之而变大。所以这时,可以跟据density来计算。也就是对态的改变view的px值。这样就可以做到view的显示效果不会随分辨率的变化而变化。而可以随屏的大小而变化。但如果是在屏的大小一定的情况下,去改分辨率,其view肯定也会变化。但在手机中,分辨率时,其屏也一定会变化。这样或多或少可以起到一些作用。
所以,如果美工给的480*800(这时density=240)的界面时,如果我们要用dip来做单位的话,我们应该把数值进行转化一下,
dip = px * 160/240
所以,真正要做适配的,只有是当图片被拉抻后,是否变形了,如果变形了,就要做适配,如果没有变形,就不要做适配。
我们一般说手机大小为:3.5英寸,这个指的是:手机对角线的长为3.5英寸,但不能计算出其长和高,因为不知道厂商会以什么比例的长宽来做。
对于分辨率,我们会说480*800像素,但有时又会用每英寸96*96像素,如果在做效果图的时候,把每英寸的像素调小,就可以看到很大的图片,但是到手机上后,其大小会缩小,原因是手机的每英寸的大小要大。
但是如果想做两张大小一样的图片(指在手机上显示时大小要一样),这时,这两张图片的每英寸的大小要设置成一样的。不然在手机上显示时,其大小会不一样。在电脑上显示时,其大小是一样的。
分享到:
相关推荐
总的来说,理解和掌握dip与px的转换对于Android开发者至关重要,它能够帮助我们创建适应各种屏幕尺寸和分辨率的应用,提供更好的用户体验。`dip2px_tool`这样的辅助工具则能进一步简化开发过程,提高开发效率。
UI 开发中,常见的衡量单位有 dp、dip、px、dpi 和 density,这些单位之间存在一定的关系和转换公式,对于 Android 开发者来说,理解这些概念和关系非常重要。 dp(Device independent pixels,设备独立像素) dp ...
`px`(像素)是设备独立像素,而`dip`(设备独立像素,也称为dp)和`sp`(可缩放像素,主要用于字体大小)是Android系统为了适应不同分辨率屏幕而引入的概念。这些单位有助于创建适应多种屏幕尺寸的应用。 `px`...
在Android开发中,为了确保应用在不同分辨率和屏幕尺寸上的显示效果一致,开发者需要掌握几种关键的尺寸单位,包括dip(或dp)、px、sp以及它们之间的转换关系。 #### 1. dip(dp) **dip**(device-independent ...
在Android开发中,理解并正确使用各种尺寸单位是至关重要的,因为这直接影响到应用程序的界面在不同设备上显示的效果。让我们深入探讨一下Android中的dip、dp、px、sp等单位。 1. dip (device independent pixels) ...
dimens 可以使用不同的单位,例如 px、in、mm、pt、dp 或 dip 等。 在 Android 开发中,需要了解屏幕分辨率和 density 的关系,正确地使用 weight 属性和 dimens,才能实现真正的自适应屏幕分辨率。 在实际开发中...
例如,对于一个480dip*800dip的WVGA屏幕(density=240),在120dpi的屏幕上,实际分辨率为240px*400px,而在240dpi的屏幕上,实际分辨率为480px*800px。为了适配这些不同密度的屏幕,开发者需要在APK资源包中提供...
在Android开发中,像素(px)和密度独立像素(dp/dip)是两个重要的尺寸单位。理解它们之间的转换关系对于创建适配不同设备屏幕的UI至关重要。本文将深入探讨Android像素转换,包括dp转px以及px转dp的方法,并提供...
在理解Android手机分辨率的基础知识之前,我们首先需要明确几个关键的概念。 1. **Screen Size(屏幕尺寸)** 屏幕尺寸指的是手机的实际物理尺寸,常用英寸来表示。例如常见的2.8英寸、3.2英寸、3.5英寸、3.7英寸...
1. **使用相对单位**:在布局文件中使用dp(density-independent pixels)或sp(scale-independent pixels)作为单位,而不是直接使用px(pixels)。这样可以确保UI元素的大小不会因为屏幕密度的不同而发生变化。 2...
为了适应不同分辨率的屏幕,开发者应遵循“Density Independent”的原则,使用相对单位(如dip和sp)而非绝对像素(px)。同时,可以利用Android的布局文件(如`layout-sw320dp`、`layout-sw600dp`等)来定义不同...
在Android系统中,屏幕适配的核心是理解并利用密度独立像素(dp/dip)和像素比(scale density)。dp是一种抽象单位,与设备的物理像素无关,而是基于设备的密度进行计算。1dp在所有设备上都应该占据相同大小的空间...
Android提供了多种方式来处理这个问题,如使用密度无关像素(dp/dip)作为单位,而不是像素(px),这样可以确保UI元素在不同密度屏幕上保持一致的大小。 描述中提到的“判断平板还是手机”,这是通过检测设备的...
在Android开发中,为了确保应用在不同屏幕尺寸和密度下的适应性和一致性,使用了多种布局单位,其中最为常见的包括sp、dp(或dip)、pt和px。这些单位各有其特性和应用场景,理解它们之间的差异对于创建响应式和用户...
本文将详细介绍px、dip、sp、pt、in、mm等单位,并通过实例进行深入解析。 #### 1. 像素单位概述 在Android开发中,常见的像素单位有px(pixels)、dip(device-independent pixels)、sp(scaled pixels)等,...
然而,为了更好地适应不同密度的屏幕,Android还引入了逻辑像素(dp或dip)的概念。如果你需要逻辑像素分辨率,可以使用`DisplayMetrics`的`densityDpi`属性来转换: ```java float density = displayMetrics....
因此,使用px作为尺寸单位时,元素在不同分辨率的设备上显示的大小会有所不同,可能导致在高密度屏幕上的元素过小,或者在低密度屏幕上的元素过大。 4. sp(放大像素) sp,scaled pixels,主要用于字体大小的设置...
- **dip(dp)**:Density-independent pixels,设备无关像素。这是一种与屏幕密度无关的像素单位,使得开发者可以在不同屏幕密度的设备上获得一致的布局效果。 - **dpi**:Dots per inch,每英寸点数。指一英寸内...
"px适配"通常通过计算设备独立像素(DIPs, Density-Independent Pixels)或CSS像素来实现。设备独立像素是一种虚拟像素单位,它与物理像素的关系取决于设备的像素密度。在高密度屏幕上,一个DIP会对应更多的物理像素...