2.2. Размеры

При разработке сценариев можно использовать различные типы измерений:

  • px: пиксели текущего экрана. Однако эта единица измерения не рекомендуется, так как реальное представление внешнего вида может изменяться в зависимости от устройства. Каждое устройство имеет определенный набор пикселей на дюйм, поэтому количество пикселей на экране может также меняться.

  • dp: (device-independent pixels) независимые от плотности экрана пиксели. Абстрактная единица измерения, основанная на физической плотности экрана с разрешением 160 dpi (точек на дюйм). В этом случае 1dp = 1px. Если размер экрана больше или меньше, чем 160dpi, количество пикселей, которые применяются для отрисовки 1dp соответственно увеличивается или уменьшается. Например, на экране с 240 dpi 1dp=1,5px, а на экране с 320dpi 1dp=2px. Общая формула для получения количества физических пикселей из dp: px = dp * (dpi / 160).

  • sp: (scale-independent pixels) независимые от масштабирования пиксели. Допускают настройку размеров, производимую пользователем. Рекомендуются для работы со шрифтами.

  • pt: 1/72 дюйма, базируются на физических размерах экрана.

  • mm: миллиметры.

  • in: дюймы.

Подсказка

Предпочтительным для задания размеров визуальных элементов является использование "dp", а для задания размеров текста "sp".

Чтобы создать масштабируемый макет, способный адаптироваться к разным экранам, можно использовать в качестве значений ширины и высоты отдельных компонентов параметры "wrap_content" и "match_parent". Если используется "wrap_content", для ширины или высоты представления устанавливается минимальное значение, позволяющее уместить содержимое на экран, а параметр "match_parent" служит для растягивания компонента по размеру родительского представления. Если указать параметры "wrap_content" и "match_parent" вместо строго заданных размеров, в представлениях будет использоваться минимально необходимое место или они будут растягиваться на всю доступную длину и ширину соответственно.