我想在我的代码中知道我的设备是使用320-hdpi还是320-mdpi资源。有可能吗?
我浏览了一些像this这样的例子,但它给出了通用密度像素(如mdpi,ldpi和hdpi)。但我想确切知道我的设备使用了哪些资源数据。无论是320-hdpi,320-mdpi还是320-ldpi。
提前谢谢。
答案 0 :(得分:2)
我认为你可以使用DisplayMetrics
类。
使用以下代码获取显示指标。
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
然后你可以通过metrics.desity
如果密度为1,则将使用mdpi资源。 如果小于1,则将使用ldpi资源。 如果它的1.5比hdpi资源将被使用。 如果它的2比xhdpi资源将被使用。
答案 1 :(得分:1)
从Activity
尝试...
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
然后,您可以查看metrics
的各个字段,以查找显示的物理和dpi特征。
请参阅DisplayMetrics文档。
答案 2 :(得分:0)
您可以在设备上安装此应用
https://play.google.com/store/apps/details?id=com.roysolberg.android.developertools
转到"资源限定符",它会为您提供所有信息,例如您的设备屏幕尺寸(正常,大,xlarge)和屏幕密度(ldpi,mdpi,hdpi,...)