如何在SDK中确定实际使用了哪个资源文件?

时间:2012-03-14 10:32:04

标签: android sdk resources drawable dpi

我在与计算机连接的手机上直接从SDK运行我的应用程序。有没有办法确定(使用SDK工具)哪个dpi drawables文件夹实际用于在应用程序中显示特定的png文件?

编辑: 说清楚。我想我自己如何使用其他方法获取此信息: 1.在不同的dpi文件夹中将不同的文件放在相同的名称下 2.写一小段代码以编程方式检查它 现在真正的问题是:我可以直接在SDK(DDMS或Hierarchy Viewer)中获取此信息吗?

3 个答案:

答案 0 :(得分:3)

您无法找到正在使用的可绘制文件夹但您可以找到使用的密度。

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);

然后您可以使用metrics.densityDpi来查找使用的DPI。它将是DENSITY_DEFAULT,DENSITY_HIGH,DENSITY_LOW,DENSITY_MEDIUM等,你可以比较和找出。

如果是的话 DENSITY_HIGH - drawable-hdpi DENSITY_LOW = drawable-ldpi DENSITY_MEDIUM - drawable-mdpi

请参阅此处了解文档http://developer.android.com/reference/android/util/DisplayMetrics.html

答案 1 :(得分:0)

你不必知道这件事。在每个drawable- *文件夹中,您使用相同的名称放置您的资源,而android将选择必须显示的drawable。

答案 2 :(得分:0)

您可以尝试添加具有相同名称的不同图形。这样您就可以知道手机正在使用哪个文件夹。

check programmatically您的设备是什么屏幕类型(hdp,mdpi,ldpi),然后将自动使用相应的drawable文件夹。