Как выбрать Layout для верстки экрана

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

Ответ

Выбор зависит от сложности и требований к производительности.

LinearLayout – простой, но неэффективный для вложенных структур. Подходит для линейных списков.

<LinearLayout
    android:orientation="vertical">
    <TextView ... />
    <Button ... />
</LinearLayout>

RelativeLayout – гибкий, но сложный в поддержке. Хорош для позиционирования элементов относительно друг друга.

ConstraintLayout – оптимальный выбор для сложных интерфейсов. Минимизирует вложенность, поддерживает chains и guidelines.

<ConstraintLayout>
    <Button
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
</ConstraintLayout>

FrameLayout – для перекрывающихся элементов (например, фрагменты).

RecyclerView – для динамических списков с оптимизацией памяти.

Для простых экранов – Linear/Relative, для сложных – ConstraintLayout. Избегайте глубокой вложенности.