Какие знаешь виды Layout

«Какие знаешь виды Layout» — вопрос из категории UI и Views, который задают на 24% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Android есть несколько основных видов Layout:

  1. LinearLayout – располагает элементы линейно (вертикально или горизонтально).
    <LinearLayout
        android:orientation="vertical">
        <Button ... />
        <TextView ... />
    </LinearLayout>
  1. RelativeLayout – позиционирует элементы относительно друг друга или родителя.
    <RelativeLayout>
        <Button android:id="@+id/button" ... />
        <TextView android:layout_toRightOf="@id/button" ... />
    </RelativeLayout>
  1. ConstraintLayout – гибкий и производительный, использует constraints (ограничения) для позиционирования.
    <ConstraintLayout>
        <Button app:layout_constraintStart_toStartOf="parent" ... />
    </ConstraintLayout>
  1. FrameLayout – накладывает элементы друг на друга (обычно для одного основного элемента).

  2. GridLayout – организует элементы в сетку.

  3. CoordinatorLayout – расширяет возможности взаимодействия с дочерними View (например, для анимаций).

Выбор зависит от сложности UI и производительности. ConstraintLayout – рекомендуемый для сложных интерфейсов.