📅  最后修改于: 2023-12-03 15:37:56.681000             🧑  作者: Mango
在 Android 应用中,有时需要获取屏幕 DPI (Dots Per Inch),即每英寸点数。这在不同的设备上可能有不同的值,因此需要以编程方式获取。
以下是在 Android 中获取屏幕 DPI 的代码片段:
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int densityDpi = (int)(metrics.density * 160f);
以上代码首先获取 DisplayMetrics 对象,然后调用 getDefaultDisplay() 方法获取屏幕显示对象,最后调用 getMetrics() 方法获取 DisplayMetrics 对象的参数值,其中包括 densityDpi 属性,该属性表示每英寸点数。
在最后一行代码中,将 density 值乘以 160,是因为 density 值表示每 160dpi(即密度无关的基准)上有多少像素,因此需要将其乘以 160 以获得实际 DPI 值。
以上代码片段将返回一个整数值 densityDpi,该值表示屏幕的每英寸点数。
使用 Markdown 格式展示代码片段:
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int densityDpi = (int)(metrics.density * 160f);
其中: