Проблема с многоэкранным дизайном

#android #screen-size

#Android #размер экрана

Вопрос:

Предположим, что у нас есть планшет со следующими характеристиками:

7 дюймов

1280 * 800 пикселей

213 точек надюйм.

Исходя из этого, мы можем рассчитать разрешение устройства в dp.

Итак:

1280 = dp * (213/160) dp = 1280 * 160 / 213 = 961.50 ~= 960

и

800 = dp * (213/160) dp = 800 * 160 / 213 = 600.94 ~= 600

следовательно, его разрешение составляет: 960 x 600dp. Таким образом, мы используем макет-sw600dp.

Теперь давайте предположим, что у нас есть мобильное устройство Samsung Galaxy 4.

5.0 дюймов

1080 x 1920 пикселей

441 dpi.

Мы выполняем те же вычисления.

1080 = dp * (441 / 160) dp = 1080 * 160/ 441= 391.83 ~= 390

и

1920 = dp * (441 / 160) dp = 1920 * 160/ 441 = 696.59 ~= 696

Итак, в данном случае 390 x 696 точек на дюйм. Собираемся ли мы использовать layout -sw480dp или layout -sw320dp для мобильного устройства?

Спасибо,

Theo

Ответ №1:

‘sw’ означает наименьшую ширину, поэтому она должна быть layout-sw320dp.

Наименьшая ширина устройства — это наименьшая из доступных высоты и ширины экрана (вы также можете думать об этом как о «минимально возможной ширине» экрана). Вы можете использовать этот квалификатор, чтобы гарантировать, что, независимо от текущей ориентации экрана, в вашем приложении доступно не менее dps ширины для пользовательского интерфейса.

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

(Выше взято из документации). Надеюсь, это поможет!