Правило выбора квалификатора ресурсов

265
03 мая 2018, 10:05

Имеются папки values и values-xhdpi .

в values-xhdpi

<resources>
    <dimen name="radioButton_text_size">50sp</dimen>
</resources>

в values

<resources>
    <dimen name="radioButton_text_size">14sp</dimen>
</resources>

На экране xxhdpi выбирается ресурс из values-xhdpi , на экране hdpi тоже ресурс из values-xhdpi, так в каком случае из дефолтной values будут ресурсы браться?

Answer 1

Это немного не так работает. У системы есть своя логика как находить наиболее подходящий ресурс, она зависит от конфигурации устройства, приоритетов самих квалификаторов, после идет логика подходит ли такие папки, и рекурсия. Получается в вашем случае система не исключила папку по конфигам устройства, после у вас указывается одна лишь папка где виден density (xhdpi), и она считает что она больше подходит чем, def папка у которой нет квалификаторов вовсе.

Решение Если хотите сохранить свою логику выбора density, вам необходимо переопределить именно подходящий ресурс, те вы создадите values-hdpi там этого параметра не будет, и в след проверке возьмется def папка values

https://developer.android.com/guide/topics/resources/providing-resources?hl=ru#BestMatch

READ ALSO
Как хранятся RGB Значения в DataBufferByte

Как хранятся RGB Значения в DataBufferByte

мне нужно из rgb значений DataBufferByte сделать массив нормализованных цветовых значений (float[]{0, 0, 01, 0

223
Байт в массив из битов

Байт в массив из битов

Как получить массив состоящий из 8 бит от одного символа ? Как я понял нужно сначала перевести символ в байт, но дальше у меня проблемы

252
Поиск всех контуров (циклов в орграфе)

Поиск всех контуров (циклов в орграфе)

Необходимо найти все контуры графаПримерно понимаю, что это делается через поиск в глубину, но вот как ни старайся, не выходит найти их полностью...

262
Остаток от деления бинарных чисел java

Остаток от деления бинарных чисел java

Какой есть алгоритм нахождения остатка от деления двоичных чисел?нужно реализовать деление полиномов,представил их в виде 110010 mod 1010 а дальше...

223