我想知道在运行来自ldpi,mdpi,hdpi或xhdpi的应用程序时使用哪个可绘制的资源.
解决方法
您应该能够按照
here所述获取设备的显示属性,然后通过将结果与此列表进行比较来确定在运行时使用的资源:
ldpi:低密度屏幕;大约120dpi.
> mdpi:中密度(传统HVGA)屏幕;约160dpi.
> hdpi:高密度屏幕;约240dpi.
> xhdpi:超高密度屏幕;约320dpi.添加在API 8级
> nodpi:这可以用于您不想缩放以匹配设备密度的位图资源.
> tvdpi:屏幕在mdpi和hdpi之间;约213dpi.这不被认为是“主要”密度组.它主要用于电视机,大多数应用程序不需要它 – 提供mdpi和hdpi资源对大多数应用程序来说足够,系统将酌情扩展它们.这个限定词引入了API级别13.
从这些信息,您可以推断出以下内容,这也可能与您的问题相关:
There is a 3:4:6:8 scaling ratio between the four primary densities (ignoring the tvdpi density). So,a 9×9 bitmap in ldpi is 12×12 in mdpi,18×18 in hdpi and 24×24 in xhdpi.