Почему Android использует ресурсы более высокого ресурса вместо более низкого?

Есть приложение, которое я хочу использовать для телефонов с разрешением xhdpi. Таким образом, я сделал ресурсы для этого разрешения, и все прошло нормально относительно телефонов xhdpi.

У меня есть тестовый мобильный телефон, который normal hdpi и макет теперь испорчен (после того, как я сделал исправления для телефонов xhdpi.

Структура макета выглядит следующим образом:

/ RES / вытяжка-ИПЧР
/ RES / вытяжка-нормальный-xhdpi
/ RES / макета
/ RES / макет нормально-xhdpi

Когда я загружаю приложение на normal hdpi телефон, я вижу, что он использует макет из /res/layout-normal-xhdpi и изображения из /res/drawable-normal-xhdpi,

Не следует ли использовать ресурсы из нижней папки ресурсов, как /res/layout а также /res/drawable-hdpi? Это не так, и я не знаю, почему.

1 ответ

Решение

В соответствии с разделом Как Android находит наиболее подходящий ресурс, система устраняет файлы ресурсов, которые противоречат конфигурации устройства, но похоже, что ваш случай ожидаемый из-за этого исключения:

Исключение: плотность пикселей на экране - это тот, который не исключен из-за противоречия.

Таким образом, устройство normal hdpi Конфигурация соответствует /res/drawable-normal-xhdpi,

Другие вопросы по тегам