Как определить в SDK, какой файл ресурсов действительно использовался? - PullRequest
3 голосов
/ 14 марта 2012

Я запускаю свое приложение из SDK прямо на моем телефоне, подключенном к компьютеру. Есть ли способ определить (используя инструменты SDK), какая папка dpi drawables фактически используется для отображения определенного png-файла в приложении?

Edit: Чтобы было понятно. Я понял, как получить эту информацию, используя другие методы: 1. положить разные файлы под одинаковыми именами в разных папках dpi 2. написать короткий код, чтобы проверить его программно Теперь реальный вопрос: могу ли я получить эту информацию напрямую в SDK (DDMS или Hierarchy Viewer)?

Ответы [ 3 ]

3 голосов
/ 14 марта 2012

Вы не можете найти, какая папка для рисования используется, но вы можете найти, какая плотность используется.

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

0 голосов
/ 14 марта 2012

Вы можете попробовать добавить другую графику с тем же именем.Таким образом, вы можете знать, какую графику папки использует ваш телефон.

Или проверить программно какой тип экрана у вашего устройства (hdp, mdpi, ldpi), а затем будет использоваться соответствующая отрисовываемая папкаавтоматически.

0 голосов
/ 14 марта 2012

вам не нужно знать об этом. В каждую папку drawable- * вы помещаете свой ресурс с тем же именем, а затем Android выбирает, что должно быть отображено

...