Android XML: почему мы не можем набрать @ drawable-mdpi, а вместо этого мы должны ввести @drawable?

1

Я вижу папки:

drawable-hdpi
drawable-mdpi
drawable-ldpi

Я видел бесчисленные потоки "Type @drawable/some_image.png" и "Создать папку с возможностью перемещения в res".

Но я никогда не видел вопроса о XML, ссылаясь на любые доступные папки с именами квалификаторов. Или в основном писать XML, чтобы ссылаться на любые папки с именами квалификаторов.

Почему это не документировано? Почему XML не может ссылаться на поддерживаемые имена каталогов ресурсов с помощью классификаторов? Это из-за ограничения XML, когда дело доходит до дефиса?

Я просто новичок. Я просто спрашиваю. Ничего страшного в этом, мне просто любопытно. Спасибо за ответ.

Теги:
resources
drawable
qualifiers

2 ответа

3
Лучший ответ

Это делается для поддержки нескольких экранов/разрешений.

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

  • 0
    И нет приоритетов? Мол, у hdpi приоритет выше, чем у mdpi, а у mdpi приоритет выше, чем у ldpi?
3

Поскольку ресурсы в hdpi, mdpi, ldpi будут использовать один и тот же идентификатор ресурса.

Os определяют устройство, ресурс которого будет использоваться.

  • 0
    Итак, это то же самое, что и / res / layout-port и / res / layout-land? Я просто вызываю "@layout", и ОС помогает мне определить, какой макет мне следует использовать в соответствии с текущей ориентацией пользователя?
  • 0
    Абсолютно да.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню