Ресурсы Android "лучшее совпадение" резервная логика

Я прочитал документы о ресурсах Android и думаю, что понял логику наилучшего соответствия, используемую android для определения того, в каком каталоге следует сначала искать конкретный ресурс. Предположим, что drawable-hdpi, drawable -en-port и drawable-en * соответствует текущей конфигурации устройства, drawable-en-port является наилучшим подходящим каталогом. Мой вопрос заключается в том, что если drawable-en-port не найдено в drawable-en-port, то выглядит ли система непосредственно в drawable или она выглядит во втором лучшем матче drawable-en, а затем в третьем лучшем матче drawable-hdpi и так далее, пока он не достигнет drawable? Я предполагаю, что это работает таким образом, но я не нашел это явно сказано в документах (если я не прочитал их слишком быстро, и вы наверняка убьете меня:)).

2 ответа

Решение

Да, это выглядит первым в drawable-en, затем drawable-hdpi потому что квалификатор языка имеет более высокий приоритет. Если значение все еще не найдено drawable каталог ищется. Это в соответствии с: Как Android находит наиболее подходящий ресурс

Если drawable-en содержит соответствующий ресурс, то drawable-hdpi а также drawable будет исключен на основе шага 4 алгоритма.

Я читаю вступительную часть

assume the following drawable directories each contain different versions of the same images

В вашем примере Android будет игнорировать папку drawable-en-port, поскольку в ней нет этого имени для рисования. Он будет смотреть только в тех папках, которые имеют эту форму, поэтому выбирает самую подходящую папку. Он выберет "drawable", только если не было папок с соответствующей конфигурацией и изображением.

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