有些时候,我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸:
从网上找过不少资料,发现获取屏幕尺寸并不是很复杂的编程操作,下面的代码即可获取屏幕的尺寸。
在一个Activity的onCreate方法中,写入如下代码:
DisplayMetrics metric = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metric);
int width = metric.widthPixels; // 屏幕宽度(像素)
int height = metric.heightPixels; // 屏幕高度(像素)
float density = metric.density; // 屏幕密度(0.75 / 1.0 / 1.5)
int densityDpi = metric.densityDpi; // 屏幕密度DPI(120 / 160 / 240)
但是,需要注意的是,在一个低密度的小屏手机上,仅靠上面的代码是不能获取正确的尺寸的。比如说,一部240x320像素的低密度手机,如果运行上述代码,获取到的屏幕尺寸是320x427。因此,研究之后发现,若没有设定多分辨率支持的话,Android系统会将240x320的低密度(120)尺寸转换为中等密度(160)对应的尺寸,这样的话就大大影响了程序的编码。所以,需要在工程的AndroidManifest.xml文件中,加入supports-screens节点,具体的内容如下:
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:resizeable="true"
android:anyDensity="true" />
这样的话,当前的Android程序就支持了多种分辨率,那么就可以得到正确的物理尺寸了。
分享到:
相关推荐
编码UTF-8;我们在ZOL上可以通过“参数”查看知名设备的信息,但如果客户寄给你一个他们自己定制的平板,通过“设置”也看不到你想要的信息, ...此Demo提供了获取设备的分辨率、屏幕尺寸和屏幕像素密度(PPL)的方式。
首先,Android系统提供了`DisplayMetrics`类来获取屏幕的相关信息,包括宽度、高度、密度等。在Java代码中,我们可以通过`Context`对象的`getResources()`方法来获取到`Resources`对象,然后调用`getDisplayMetrics...
本文将详细讲解如何在安卓中获取当前屏幕的屏幕尺寸(像素),以便进行适配和图像设计。 首先,我们需要理解安卓系统中与屏幕尺寸相关的概念。屏幕尺寸通常包括屏幕宽度和高度,通常以像素为单位。安卓提供了`...
本文将深入探讨如何在Android系统中获取屏幕分辨率,并结合`TestDisplayMetrics`这个示例,来讲解相关知识。 一、Android屏幕分辨率概念 屏幕分辨率是指屏幕上像素的数量,通常用宽度和高度的像素数表示,如1920x...
- 使用`Display`类:`Display`类提供了获取屏幕尺寸的另一种方式,通过`Display.getSize(Point outSize)`方法可以获取到屏幕的宽高值。 ```java Point size = new Point(); getWindowManager()....
在Android开发中,了解设备的屏幕属性是至关重要的,这些属性包括屏幕大小、屏幕分辨率、屏幕密度以及系统组件的高度如导航栏和标题栏。...记住,适配各种屏幕尺寸和特性是提升Android应用质量的关键。
Android系统支持多种屏幕尺寸和密度,包括小、正常、大、超大四种尺寸类别,以及低、中、高、超高四种密度类别。开发者需要确保应用能在这些不同的配置下正常运行。 获取屏幕分辨率的方法主要涉及Android的`...
为了确保应用程序能够在各种屏幕尺寸上正常运行并保持良好的视觉效果,Android系统引入了屏幕密度的概念。 在Android中,屏幕密度被分为几个等级:ldpi(低密度)、mdpi(中等密度)、hdpi(高密度)、xhdpi(极高...
`Display`对象提供了多种方法来获取屏幕尺寸和密度。我们常用的是`getMetrics()`方法获取`DisplayMetrics`对象,它包含了屏幕的宽度、高度、像素密度等信息。以下是如何获取屏幕尺寸的代码: ```java ...
以下将详细介绍如何在Android中获取屏幕尺寸,并提供相关源码解析。 首先,Android屏幕尺寸的单位通常为像素(px),但为了进行适配,我们通常会关心逻辑像素(dp)或者屏幕密度(dpi)。Android系统提供了多种方法...
以下是关于Android获取屏幕尺寸的详细知识: 1. **屏幕尺寸与分辨率** 屏幕尺寸通常指的是屏幕对角线的长度,单位通常是英寸。分辨率是指屏幕上像素点的数量,一般用宽度x高度的形式表示,例如1920x1080。屏幕尺寸...
总的来说,正确获取Android屏幕大小并不仅仅是获取像素尺寸,还需要考虑到屏幕的密度和分辨率,以及在不同屏幕尺寸和密度下保持UI的一致性。通过理解这些基本概念和使用正确的API,开发者可以构建出更加健壮且适应性...
以下是一个简单的代码示例,展示了如何使用这两种方法来获取屏幕尺寸: ```java import android.content.Context; import android.util.DisplayMetrics; import android.view.WindowManager; public class ...
Display提供了获取屏幕尺寸的方法。我们可以使用WindowManager接口来访问当前窗口管理器的Display对象。 ```java WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE); ...
在Android开发中,准确地获取屏幕、状态栏和标题栏的尺寸是至关重要的,这有助于开发者创建适应不同设备和屏幕尺寸的应用。以下是一些关于如何获取这些尺寸的关键知识点。 1. **屏幕尺寸获取** - **DisplayMetrics...
在Android开发中,理解和适配各种手机屏幕的大小和密度是非常关键的一环,因为...通过合理利用DisplayMetrics类提供的信息和Android的资源管理机制,我们可以确保应用在不同屏幕尺寸和密度的设备上都有出色的显示效果。
接下来,我们可以通过以下代码获取屏幕尺寸: ```java // 获取WindowManager服务 WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE); // 创建DisplayMetrics对象来存储屏幕信息 ...
在Android开发中,获取屏幕尺寸是一项基础且重要的任务,它涉及到UI适配、布局设计以及各种设备兼容性问题。本文将详细讲解如何在Android中获取屏幕的尺寸,并提供相关的实践代码。 首先,我们需要理解Android系统...