У кого-нибудь есть подсказка, какое имя папки я должен использовать, чтобы обеспечить dimens.xml ТОЛЬКО для разрешения экрана номер 2?
Я не думаю, что это возможно, по крайней мере, не с ш или ч классификаторов. Зачем? Согласно руководству Providing Resources на Android Developers вы можете указать минимальную ширину экрана или высоту, необходимую для загрузки определенного ресурса, но не максимально.
Давайте посмотрим, что произойдет, если у вас есть ресурсы организованы следующим образом:
res/
values/
values-h1024dp/
Android имеет defined behavior совпадающих ресурсов в зависимости от конфигурации устройства. Когда вы открываете приложение на устройстве с высотой экрана 800dp, лучшим совпадением будет values
, потому что 1024dp не подходит в 800dp. Однако, если вы откроете такое же приложение на более крупном устройстве с высотой экрана с 1024 или выше, оно будет использовать каталог values-h1024dp
.
К сожалению, вы хотите использовать второй каталог ресурсов только для устройства определенных размеров, то есть 768dpx1024dp.
Предоставление ресурсов в Android разработано по-разному, как вы ожидали, но имеет way to achieve what you need - ресурсы псевдонимов.
Чтобы обеспечить структуру каталогов ресурсов, где только один каталог соответствует устройство с конфигурацией w1024dp, я бы создать следующую структуру:
res/
values/
values-h1024dp/
values-h1025dp/
И в values-h1025dp
создавать XML-файлы, содержащие псевдонимы ресурсов в values
. Таким образом, вы можете иметь один файл ресурсов, который соответствует всем устройствам, кроме тех, которые имеют высоту экрана 1024dp.
Обратите внимание: он будет работать для устройств с установленной вами конфигурацией, но только в ландшафтном режиме, так как я использовал только h квалификатор.