简介:在安卓开发中,获取屏幕分辨率是常见的需求。本文将介绍三种方法来获取安卓设备的屏幕分辨率。
在安卓开发中,获取屏幕分辨率是非常重要的,因为需要根据屏幕大小和分辨率来适配布局和显示内容。以下是三种获取屏幕分辨率的方法:
方法一:使用WindowManager和Display
WindowManager是安卓系统提供的一个系统服务,可以用来获取屏幕信息。Display类则提供了屏幕的尺寸和分辨率等属性。以下是使用WindowManager和Display获取屏幕分辨率的示例代码:
WindowManager windowManager = getWindowManager();Display display = windowManager.getDefaultDisplay();int width = display.getWidth();int height = display.getHeight();
需要注意的是,getWidth()和getHeight()方法已经被废弃,可以使用getRealSize()方法替代。另外,这种方法需要在Activity中才能使用。
方法二:使用DisplayMetrics
DisplayMetrics类提供了屏幕的尺寸和密度等信息。以下是使用DisplayMetrics获取屏幕分辨率的示例代码:
DisplayMetrics displayMetrics = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);int width = displayMetrics.widthPixels;int height = displayMetrics.heightPixels;
这种方法同样需要在Activity中才能使用。
方法三:使用Point类(推荐)
从Android 11开始,推荐使用Point类来获取屏幕尺寸。Point类提供了setTo()和getSize()方法,可以方便地获取屏幕的宽度和高度。以下是使用Point类获取屏幕分辨率的示例代码:
WindowManager windowManager = getWindowManager();Display display = windowManager.getDefaultDisplay();Point point = new Point();display.getSize(point);int width = point.x;int height = point.y;
这种方法同样需要在Activity中才能使用。需要注意的是,Point类需要导入android.graphics包。
以上三种方法都可以用来获取安卓设备的屏幕分辨率。根据不同的需求和开发环境,可以选择合适的方法来使用。同时,需要注意这些方法的使用场景和限制,确保在不同的设备和系统版本上都能正确地获取到屏幕分辨率信息。