public static int getScreenHeight(Context context){ //从系统服务中获取窗口管理器 WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); DisplayMetrics dm = new DisplayMetrics(); //从默认显示器中获取显示参数保存到dm中 wm.getDefaultDisplay().getMetrics(dm); return dm.heightPixels; //返回屏幕的高度数值 } public static int getScreenDensity(Context context){ WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); DisplayMetrics dm = new DisplayMetrics(); wm.getDefaultDisplay().getMetrics(dm); return dm.densityDpi; } }
时间: 2024-01-06 11:07:10 浏览: 28
这是一个获取屏幕高度和屏幕密度的工具类方法,需要传入一个Context对象,通过WindowManager获取当前屏幕的DisplayMetrics对象,然后返回屏幕高度和屏幕密度。其中,屏幕密度指的是每英寸有多少个屏幕像素,即DPI(dots per inch)。这两个值在Android开发中常常用来进行UI适配。
相关问题
public static int getScreenWidth(Context context)
这是一个Java函数,用于获取屏幕的宽度,需要传入一个上下文Context对象作为参数。函数返回值为int类型,表示屏幕的宽度值。具体实现可以参考下面的代码:
```
public static int getScreenWidth(Context context) {
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics metrics = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(metrics);
return metrics.widthPixels;
}
```
这个函数通过获取WindowManager对象,并调用getDefaultDisplay()方法获取当前显示的Display对象,然后通过Display对象的getMetrics()方法获取屏幕的像素密度等信息,最终返回屏幕的宽度值。
WindowManager wm = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE); Display display = wm.getDefaultDisplay(); Point size = new Point(); display.getSize(size);在屏幕进行旋转时获取的size是否及时在更新
这段代码的作用是获取屏幕的宽度和高度。其中,WindowManager是用来获取系统服务的,通过调用`getDefaultDisplay()`方法获取默认显示器的Display对象,再通过调用`getSize(Point)`方法获取屏幕的尺寸信息,存储在Point对象中。
当屏幕旋转时,size会及时更新。getDisplay()方法返回的是显示器的句柄,而不是一个具体的显示器,因此可以随时获取显示器的旋转角度,根据旋转角度来更新屏幕尺寸信息。因此,无论何时size都会反映当前屏幕的尺寸。