我想在我的代码中知道我的设备是否使用320-HDPI或320-MDPI资源。有可能吗?
我经历了这样的示例,但它给了我通用的密度像素(例如MDPI,LDPI和HDPI)。但是我想确切地知道我的设备使用了哪些资源数据。是320-HDPI,320-MDPI还是320-LDPI。
预先感谢您。
我认为您可以使用DisplayMetrics
类。
使用以下代码获取显示指标。
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
然后您可以通过metrics.desity
如果密度比MDPI资源的密度为1。如果其小于1,则将使用LDPI资源。如果将使用比HDPI资源1.5。如果将使用比XHDPI资源的2。
来自您的Activity
尝试...
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
然后,您可以查看metrics
的各个字段以找出显示的物理和DPI特征。
请参阅Displaymetrics文档。
您可以在设备上安装此应用
https://play.google.com/store/apps/details?id=com.roysolberg.android.developertools
转到"资源预选赛",它将为您提供所有信息,例如设备屏幕大小(正常,大,Xlarge)和屏幕密度(LDPI,MDPI,HDPI,...)