Макеты в дизайне пользовательского интерфейса Android

Опубликовано: 14 Июля, 2021

Диспетчеры компоновки (или просто компоновки) считаются расширениями класса ViewGroup. Они используются для установки положения дочерних представлений в пользовательском интерфейсе, который мы создаем. Мы можем вкладывать макеты, и поэтому мы можем создавать произвольно сложные пользовательские интерфейсы, используя комбинацию макетов.

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

Наиболее часто используемые классы макета, которые можно найти в Android SDK:

  • FrameLayout - это самый простой из менеджеров компоновки, который закрепляет каждое дочернее представление внутри своего фрейма. По умолчанию положение - это верхний левый угол, хотя атрибут гравитации можно использовать для изменения его положения. Вы можете добавить несколько дочерних стеков, каждый новый дочерний элемент поверх предыдущего, причем каждый новый вид может скрывать предыдущие.
  • LinearLayout - LinearLayout выравнивает каждый дочерний View по вертикальной или горизонтальной линии. Вертикальный макет имеет столбец представлений, тогда как в горизонтальном макете есть ряд представлений. Он поддерживает атрибут веса для каждого дочернего представления, который может контролировать относительный размер каждого дочернего представления в доступном пространстве.
  • RelativeLayout - он более гибкий, чем другие собственные макеты, поскольку позволяет нам определять положение каждого дочернего представления относительно других представлений и размеров экрана.
  • GridLayout - он был представлен в Android 4.0 (уровень API 14). В макете сетки использовалась прямоугольная сетка из бесконечно тонких линий для размещения представлений в виде ряда строк и столбцов. Макет сетки невероятно гибок и может использоваться для значительного упрощения макетов и уменьшения или устранения сложного вложения, часто необходимого для создания пользовательских интерфейсов с использованием макетов, описанных ранее.

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

Справка:
https://developer.android.com/guide/topics/ui/declaring-layout.html