Ресурсы 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", только если не было папок с соответствующей конфигурацией и изображением.