dimen.xml не выполняется после его указания для других размеров

В моем проекте у меня был только файл dimens.xml, и после завершения проекта я решил создать файлы размеров для других размеров экрана. Итак, я начал с создания каталога values-mdpi и размещения в нем файла dimen.xml. но теперь каждый размерный ресурс, который я определяю в файле параметров values-mdpi, применяется ко всем экранам! Другими словами, файл общих размеров игнорируется. Но если я определяю value-xxxhdpi место, ресурсы для моего устройства там работают нормально. Но почему? Если я не определяю файл размеров для определенной плотности, он должен брать ресурсы из общего файла dimens.xml, не должен?


person Artin Artin    schedule 08.11.2018    source источник
comment
пожалуйста, создайте папку с именем values-nodpi и поместите в нее общее, чтобы оно там работало   -  person Rizwan Atta    schedule 09.11.2018
comment
@Rizwanatta, спасибо, это было полезно!   -  person Artin Artin    schedule 09.11.2018
comment
Добро пожаловать, пожалуйста, проголосуйте! благодарю вас   -  person Rizwan Atta    schedule 09.11.2018
comment
Почему вы хотите поместить ресурсы dimen в каталог с указанием плотности? В любом случае вы должны использовать dp единиц, которые уже масштабируются в зависимости от плотности.   -  person Ben P.    schedule 09.11.2018
comment
@БенП. Вы правы, но хотя я использую dp в качестве единицы измерения, мои представления на экранах с более низким разрешением занимают гораздо больше места, чем размер экрана!   -  person Artin Artin    schedule 11.11.2018


Ответы (2)


Ресурсы, зависящие от плотности, будут соответствовать типу с наименьшим соответствием.

Итак, если вы создадите папку values-mdpi, любое устройство с MDPI или выше (большинство устройств) будет использовать любые существующие значения в этой папке и в противном случае вернуться к значениям по умолчанию.

Ваша папка values-xxxhdpi, скорее всего, не относится к вашему устройству, потому что ваше устройство не соответствует спецификации XXXHDPI. Это может быть XXHDPI или XHDPI.

Вы должны изменить свою логику. Вместо создания специальных макетов для устройств с низкой плотностью создайте специальные макеты для устройств с высокой плотностью.

person TheWanderer    schedule 08.11.2018

Пожалуйста, создайте папку с именем "values-nodpi" и поместите в нее общее, чтобы она работала там! это должно помочь!

ПРИМЕЧАНИЕ !: лучше сделать это так, хотя Android поддерживает папки с высоким разрешением, а также автоматически регрессирует для более низких, но это влияет на производительность.

person Rizwan Atta    schedule 09.11.2018