我想知道在运行来自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引入的。
根据这些信息,您可以推断出以下内容,这些内容也可能与您的问题相关:
四种主要密度之间的比例为3:4:6:8
(忽略tvdpi密度)。所以,ldpi中的9x9位图是12x12英寸
MDPI,18x18英寸HDPI,24x24英寸XHDPI。
关于android - 如何找出使用哪种可绘制资源?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9256653/