Old School

Старые добрые виджеты. Без зависимостей

Думаю нет смысла указывать TextView, EditText, ImageView, Button, ImageButton, ScrollView и прочие, с ними должно быть все понятно.

AbsoluteLayout

На самом деле, это шутка, но просто для общего развития). Старый виджет, обычный контейнер, но элементы внутри позиционируется через координаты x и y. Это так себе)

FrameLayout

Это просто контейнер для элементов, у которых есть свойство android:layout_gravity для выравнивания относительно родителя

LinearLayout

Это контейнер для вертикального или горизонательного расположения элементов. Из интересного тут только android:weight, который позволяет распределить пространство между элементами в нужном отношении. Если элемент не должен участвовать в этом распределении, то просто указывать размер как wrap_content, иначе чем больше относительный weight, тем больше размер.

RelativeLayout

Можно сказать это lite версия ConstraintLayout. Здесь есть аттрибуты для выравнивания относительно как само контейнера, так и соседних элементов. Lite, потому что без extra плюшек.

GridLayout

Это lite версия GridView, когда адаптер излишен, и дочерние элементы можно расположить прям в разметке.

HorizontalScrollView

Это горизонтальный ScrollView

Space

Это интересный виджет. Он нужен для того, что не нагружать gpu отрисовкой лишнего view, получается, он просто определяет границы элемента

include

Это полезный тэг, позволяет добавить в нужное место разметку из другого файла, чтобы не копипастить

merge

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

Last updated