2017-01-03 3 views
0

Я сослался на сайт, чтобы узнать, как создавать разные папки макетов для поддержки разных размеров экрана. http://wptrafficanalyzer.in/blog/different-layouts-for-different-screen-sizes-in-android/относительно понимания различных размеров экрана

в вышеупомянутых состояниях ссылок следующего:

res/layout-sw320dp : Devices with a smallest screen width which is greater than 320dp will make use the layouts defined in this folder 

res/layout-sw480dp: Devices with a smallest screen width which is greater than 480dp will make use the layouts defined in this folder 

мой вопрос, что если есть devie с шириной экрана 500dp для exampl, то какая папка будет использоваться «Рез/layout- sw320dp 'или' res/layout-sw480dp '?

ответ

3

В official documentation под Обеспечить различные макеты для различных размеров экрана, вы можете прочитать:

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

Конфигурационные квалификаторы , которые можно использовать для предоставления ресурсов по размеру, являются небольшими, нормальными, большими и xlarge. Например, макеты для особо большого экрана должны идти в layout-xlarge /.

Начиная с Android 3.2 (уровень API 13), приведенные выше размерные группы являются устаревшими, и вы должны использовать вместо конфигурации спецификатор swdp определить наименьший доступный ширину, требуемую вашими компоновочных ресурсов. Например, если для вашего планшета с планшетамитребуется не менее 600 точек на дюйм ширины экрана, вы должны разместить его в макете-sw600dp /.

Emphasis mine.

и далее вниз, под Используя новые классификаторы размер:

Например, если ваш макет требует, чтобы его наименьший размер площади экрана, по меньшей мере 600 дп в любое время, то вы можете используйте этот квалификатор для создания ресурсов макета, res/layout-sw600dp /. Система будет использовать эти ресурсы только тогда, когда минимальный размер экрана составляет не менее 600dp, независимо от того, является ли сторона 600dp воспринимаемой пользователем высотой или шириной.

Emphasis mine.

Что означает, что если у вас есть sw320dp и sw480dp-папка, устройство с шириной экрана 500dp будет использовать папку sw480dp.

Устройство с шириной экрана 479dp будет использовать папку sw320dp.

0

Почему вы не читаете official documentation?

Там, в примерах, вы можете увидеть:

Для других случаев, в которых вы хотите дополнительно настроить интерфейс различать размеры, такие как 7” и 10” таблетки, вы можете определить дополнительные Наименьшее ширина раскладка:

разреша/макет/main_activity.xml # для мобильных телефонов (меньше, чем 600dp доступна шириной)

RES/макет-sw600dp/main_activity.xml # для 7” таблеток (600dp широкая и большая)

разрешение/макет sw720dp/main_activity.xml # Для 10” таблеток (720dp в ширине и больше)

Отсюда вы можете ясно видеть, что устройство с более чем 720dp не будет использовать файлы 600dp.

Так что в вашем примере ответом будет папка «res/layout-sw480dp».

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