Android 确定任何安卓设备';s屏幕类型
我想知道一台设备是否有Android 确定任何安卓设备';s屏幕类型,android,Android,我想知道一台设备是否有hdpi屏幕、ldpi、mdpi、大hdpi,等等,但我不是说通过编程来实现这一点,而是想根据设备的规格来确定。 例如,我想查看设备的规格,并确定该特定设备加载了哪些资源 这能做到吗?或对于所有可能的设备,在网络上的某个地方,有这样一个列表吗?我已经为您编写了整个函数。享受!!希望能有帮助 public String getScreenDensityDPI() { DisplayMetrics metrics = new DisplayMetrics();
hdpi
屏幕、ldpi
、mdpi
、大hdpi
,等等,但我不是说通过编程来实现这一点,而是想根据设备的规格来确定。
例如,我想查看设备的规格,并确定该特定设备加载了哪些资源
这能做到吗?或对于所有可能的设备,在网络上的某个地方,有这样一个列表吗?我已经为您编写了整个函数。享受!!希望能有帮助
public String getScreenDensityDPI() {
DisplayMetrics metrics = new DisplayMetrics();
WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
display.getRealMetrics(metrics);
switch (metrics.densityDpi) {
case DisplayMetrics.DENSITY_LOW:
return "ldpi";
case DisplayMetrics.DENSITY_MEDIUM:
return "mdpi";
case DisplayMetrics.DENSITY_TV:
return "tvdpi";
case DisplayMetrics.DENSITY_HIGH:
return "hdpi";
case DisplayMetrics.DENSITY_XHIGH:
return "xhdpi";
case DisplayMetrics.DENSITY_XXHIGH:
return "xxhdpi";
case DisplayMetrics.DENSITY_XXXHIGH:
return "xxxhdpi";
default:
return "" + mDisplayMetrics.densityDpi;
}
}
您可以查看设备的PPI并确定其类别 LDPI:低密度,每英寸约120点 MDPI:中等密度,每英寸约120-160点 TVDPI:中高密度,每英寸约160-213点 HDPI:高密度,每英寸约213-240点 XHDPI:超高密度,每英寸约240-320点 XXHDPI:超高密度,每英寸约320-480点[15] XXXHDPI:超高密度,每英寸约480-640点[16]
如果网站没有提供显示器的PPI,那么你可以通过知道屏幕的对角线尺寸(以英寸为单位)和分辨率(以像素为单位)(宽度和高度)来计算PPI。这可以通过两个步骤完成:
是以英寸为单位的对角线尺寸(这是作为显示器尺寸的广告数字)。谢谢。。。但正如我所说,我正在寻找一种非程序化的方式来完成它。不过还是要谢谢你;)太好了,正是我想要的!