
160dpi的手机上,1dp=1px;320dpi的手机上,1dp=1.5px
android获取屏幕尺寸、密度
<wbr><wbr><wbr>有些时候,我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸:<br><wbr><wbr><wbr>从网上找过不少资料,发现获取屏幕尺寸并不是很复杂的编程操作,下面的代码即可获取屏幕的尺寸。<br><wbr><wbr><wbr>在一个Activity的onCreate方法中,写入如下代码:<br><wbr><wbr><wbr><wbr><wbr>DisplayMetrics metric = new DisplayMetrics();<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr>getWindowManager().getDefaultDisplay().getMetrics(metric);<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr>int width = metric.widthPixels;<wbr>// 屏幕宽度(像素)<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr>int height = metric.heightPixels;<wbr>// 屏幕高度(像素)<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr>float density= metric.density;<wbr>// 屏幕密度(0.75 / 1.0 / 1.5)<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr>int densityDpi = metric.densityDpi;<wbr>// 屏幕密度DPI(120 / 160 / 240)<br><wbr><wbr><wbr>但是,需要注意的是,在一个低密度的小屏手机上,仅靠上面的代码是不能获取正确的尺寸的。比如说,一部240x320像素的低密度手机,如果运行上述代码,获取到的屏幕尺寸是320x427。因此,研究之后发现,若没有设定多分辨率支持的话,Android系统会将240x320的低密度(120)尺寸转换为中等密度(160)对应的尺寸,这样的话就大大影响了程序的编码。所以,需要在工程的AndroidManifest.xml文件中,加入supports-screens节点,具体的内容如下:<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><supports-screens<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>android:smallScreens="true"<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>android:normalScreens="true"<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>android:largeScreens="true"<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>android:resizeable="true"<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>android:anyDensity="true" /><br><wbr><wbr><wbr>这样的话,当前的Android程序就支持了多种分辨率,那么就可以得到正确的物理尺寸了。</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
分享到:
相关推荐
在Android开发中,理解并掌握dp、px、sp等单位之间的转换是非常重要的,因为它们直接影响到界面元素在不同分辨率和像素密度设备上的显示效果。dp(density-independent pixels)是独立像素,px(pixels)是像素,sp...
通过使用dp单位和适当的转换函数,我们可以确保用户在不同屏幕尺寸和密度的设备上都能获得良好的视觉体验。同时,Android还提供了sp(scaled pixel)单位,用于处理字体大小,它会根据用户的字体缩放设置自动调整...
在Android开发中,为了确保应用在不同屏幕尺寸和密度下的适应性和一致性,使用了多种布局单位,其中最为常见的包括sp、dp(或dip)、pt和px。这些单位各有其特性和应用场景,理解它们之间的差异对于创建响应式和用户...
在Android开发中,为了确保应用在不同分辨率和屏幕尺寸上的显示效果一致,开发者需要掌握几种关键的尺寸单位,包括dip(或dp)、px、sp以及它们之间的转换关系。 #### 1. dip(dp) **dip**(device-independent ...
本文将详细解析Android中常见的五种尺寸单位:dip(设备独立像素)、dp(密度无关像素)、sp(可缩放像素)、pt(点)和px(像素),并探讨它们之间的关系和应用场景。 首先,我们来了解一下px(像素)。像素是屏幕...
本文将详细介绍dp、sp、px、in、pt以及mm这几种常用的长度单位,并解释它们之间的区别和应用场景。 #### 1. dp (Density-independent Pixels) dp,全称Density-independent Pixels,是一种与屏幕密度无关的单位。...
在Android应用开发中,适配不同的屏幕密度是至关重要的,因为Android设备的屏幕尺寸和分辨率千差万别。"Android-gendpi" 是一个工具,它可以帮助开发者根据不同的屏幕密度(DPI)自动生成适配的像素(px)尺寸。这个...
本主题将深入探讨如何利用`dimens`资源文件实现像素(px)、密度独立像素(dp)和可缩放像素(sp)之间的转换,以及它在UI适配中的重要作用。 首先,我们需要理解Android屏幕的密度概念。Android设备有多种不同的...
在Android应用开发中,了解如何获取屏幕尺寸以及如何在dp和px之间进行转换至关重要,因为这直接影响到界面元素在不同设备上的布局和显示效果。本文将深入探讨这两个方面。 首先,我们来讲解如何获取Android应用的...
4. **屏幕尺寸获取**: 提供方法获取设备的宽度和高度,单位可能是px或者dp,这取决于应用场景。 5. **屏幕密度获取**: 提供获取设备的像素密度(density)和dpi(densityDpi)的方法,这对于适配不同屏幕非常重要。...
在Android开发中,屏幕适配是一项重要的任务,而dp、px和sp是理解这一过程的关键概念。本视频教程“015集-dp、px和sp”针对初学者,旨在帮助他们深入理解这些单位以及如何在实践中应用它们。 首先,我们要明白像素...
android屏幕适配px工具类"是一个专注于Android屏幕适配的Java工具类,它通过提供dp、px、sp之间的转换方法,帮助开发者创建能够良好适应各种屏幕尺寸的应用。通过理解和运用这些工具,可以显著提升应用在不同设备上...
在Android开发中,理解和使用正确的计量单位对于创建适应各种屏幕尺寸和密度的应用至关重要。以下是对Android中几种主要计量单位的详细解释: 1. **px(像素)**:像素是屏幕的最小显示单位,代表显示器上一个点的...
总结来说,理解并正确使用Android中的这些单位对于创建适应各种屏幕尺寸和密度的用户界面至关重要。适当地使用dip、dp、px和sp,可以确保应用在不同设备上提供一致且舒适的用户体验。在设计界面时,应遵循谷歌的推荐...
8. **Android Studio的预览功能**:开发者可以在Android Studio的设计视图中预览应用在不同屏幕尺寸和密度下的效果,以便进行调整。 9. **Android AutoLayout库**:虽然Android Studio内置的ConstraintLayout已经...
首先,我们需要理解Android系统如何处理屏幕尺寸和密度。Android设备有多种屏幕类型,包括small、normal、large、xlarge等,以及hdpi、mdpi、ldpi、xhdpi、xxhdpi、xxxhdpi等密度分类。不同的尺寸和密度意味着在相同...
Android系统还引入了资源目录的概念,允许开发者针对不同屏幕尺寸和密度创建特定的资源,以提供最佳的用户体验。例如,将图片和布局文件分别存放在res/drawable-mdpi, res/drawable-hdpi等目录下,系统会自动选择最...
让我们深入探讨一下Android中的dip、dp、px、sp等单位。 1. dip (device independent pixels) - 设备独立像素: 这是一种基于设备的物理特性(如屏幕密度)的抽象单位,旨在确保UI元素在不同分辨率的屏幕上看起来...