1

В диапазоне плотностей xhdpiКак разработать для множественного разрешения в том же диапазоне плотности в андроид

Есть несколько устройств разрешения

как Nexus 7 с разрешением 1200 х 1920 пикселей, которая приходит под xhdpi и Nexus 9 с 2048 х 1536 пикселя разрешением который также подпадает под xhdpi

Samsung galexy примечание про имеет 2560 х 1600 пикселей разрешение, который также попадает под xhdpi плотности

Так что, если я проектирования с 1200 X 1920 и место активы значения в Dimens-xhdpi, то оно не подходит для 2048 X 1920 или 2560 х 1600 устройств разрешением, как мы можем сделать его совместимым для всех

Я не очень понимаю, как сделать его совместимым Чтение документации разработчиков, если кто-нибудь может объяснить, что было бы так полезно

ответ

1

Плотность экрана и размер экрана - это две разные вещи. На Android вы должны в первую очередь разрабатывать плотность, а не размеры экрана. Размеры экрана поддерживаются только ограниченным образом.

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

Дизайнеры для Android обычно создают стандартный размер экрана. Но они знают, что на большинстве телефонов это будет выглядеть не так. Они проектируют его так, чтобы он мог растягиваться и/или прокручиваться. С самого начала они считают, что, когда экран меньше, он будет, например, прокрутки, и когда экран будет больше, между представлениями будут большие пробелы.

Чтобы продолжить работу с различиями в размере экрана, Android предлагает обработку через диапазоны размеров экрана. Вы можете использовать классификаторы ресурсов старого экрана (small, normal, large, xlarge) или новее sw<N>dp, w<N>dp, h<N>dp. Вы можете объединить эти квалификаторы с квалификаторами плотности (например, -large-xhdpi или -sw640dp-xhdpi). Именно так поддерживаются телефоны и таблицы в одном приложении.

Дополнительную информацию об квалификаторах ресурсов можно найти в документации here и here.

+0

один больше сомнения. можем ли мы также добавить с этими квалификаторами, например, что, если мне нужны разные активы для 1536 x 2048 (ширина 768dp) и 1200 x 1920 (600dp), которые оба подпадают под плотность xhdpi? Могу ли я разместить различные активы, такие как drawable-w600dp и drawable-w768dp и соответствующие значения, такие как значения-w600dp и значения-w768dp –

+1

Да, вы можете! В вашем случае для xhdpi вы можете использовать папки ресурсов, например. 'drawable-w600dp-xhdpi',' drawable-w768dp-xhdpi' или даже 'drawable-sw600dp-h720dp-xhdpi'. Квалификаторы ресурсов могут быть объединены. – Tomik

+0

Большое спасибо! я попытаюсь создать ресурсы и попробовать :) –

Смежные вопросы