Ширина и высота элементов

16.01.2025

Все визуальные элементы в Android упорядочиваются на экране с помощью контейнеров. Основные классы контейнеров: RelativeLayout, LinearLayout, GridLayout, TableLayout, ConstraintLayout, FrameLayout.

Элементы внутри контейнера организуются с помощью параметров разметки. Для задания в XML файле используются атрибуты, начинающиеся с префикса layout_, например: layout_width и layout_height.

Опции для задания размеров

  1. match_parent Растягивает элемент до размеров контейнера (в ConstraintLayout вместо match_parent используется 0dp).

  2. wrap_content Элемент принимает минимальные размеры, достаточные для отображения содержимого.

  3. Точные размеры Указываются в конкретных единицах, например 96dp.


match_parent

Значение match_parent растягивает элемент до размеров контейнера. Например:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
 
    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="Hello World!"
        android:textSize="30sp"
        android:background="#e0e0e0" />
     
</LinearLayout>

Особенности

  • match_parent применяется ко всем встроенным контейнерам, кроме ConstraintLayout.

  • Для ConstraintLayout вместо match_parent используется 0dp.


wrap_content

Значение wrap_content задаёт размеры, достаточные для отображения содержимого элемента.


Точные размеры

Для задания точных размеров указываются значения в единицах, например, dp:

Можно также комбинировать значения, например, задать фиксированную высоту и растяжение по ширине содержимого:


Минимальные и максимальные размеры

Для ограничения размеров используются атрибуты minWidth, maxWidth, minHeight, maxHeight.


Программная установка ширины и высоты

Для создания элементов в коде и управления их размерами используется метод setLayoutParams().

Пример кода

Параметры LayoutParams

  • WRAP_CONTENT

  • MATCH_PARENT

Можно также задавать точные размеры

Last updated