安卓获取屏幕分辨率的方法

作者:很菜不狗2024.01.18 13:26浏览量:13

简介:在安卓开发中,获取屏幕分辨率是常见的需求。本文将介绍三种方法来获取安卓设备的屏幕分辨率。

在安卓开发中,获取屏幕分辨率是非常重要的,因为需要根据屏幕大小和分辨率来适配布局和显示内容。以下是三种获取屏幕分辨率的方法:
方法一:使用WindowManager和Display
WindowManager是安卓系统提供的一个系统服务,可以用来获取屏幕信息。Display类则提供了屏幕的尺寸和分辨率等属性。以下是使用WindowManager和Display获取屏幕分辨率的示例代码:

  1. WindowManager windowManager = getWindowManager();
  2. Display display = windowManager.getDefaultDisplay();
  3. int width = display.getWidth();
  4. int height = display.getHeight();

需要注意的是,getWidth()和getHeight()方法已经被废弃,可以使用getRealSize()方法替代。另外,这种方法需要在Activity中才能使用。
方法二:使用DisplayMetrics
DisplayMetrics类提供了屏幕的尺寸和密度等信息。以下是使用DisplayMetrics获取屏幕分辨率的示例代码:

  1. DisplayMetrics displayMetrics = new DisplayMetrics();
  2. getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
  3. int width = displayMetrics.widthPixels;
  4. int height = displayMetrics.heightPixels;

这种方法同样需要在Activity中才能使用。
方法三:使用Point类(推荐)
从Android 11开始,推荐使用Point类来获取屏幕尺寸。Point类提供了setTo()和getSize()方法,可以方便地获取屏幕的宽度和高度。以下是使用Point类获取屏幕分辨率的示例代码:

  1. WindowManager windowManager = getWindowManager();
  2. Display display = windowManager.getDefaultDisplay();
  3. Point point = new Point();
  4. display.getSize(point);
  5. int width = point.x;
  6. int height = point.y;

这种方法同样需要在Activity中才能使用。需要注意的是,Point类需要导入android.graphics包。
以上三种方法都可以用来获取安卓设备的屏幕分辨率。根据不同的需求和开发环境,可以选择合适的方法来使用。同时,需要注意这些方法的使用场景和限制,确保在不同的设备和系统版本上都能正确地获取到屏幕分辨率信息。