Как сделать так, чтобы вьюшка масштабировалась в зависимости от занимаемого пространства (flexible layouts)?

Использовать ConstraintLayout с ограничениями 0dp (MATCHCONSTRAINT) для ширины/высоты и layoutconstraintHorizontalbias / layoutconstraintVerticalbias. Также можно использовать LinearLayout с весами (layoutweight).

Короткий ответ

Что ответить на собеседовании

Использовать ConstraintLayout с ограничениями 0dp (MATCHCONSTRAINT) для ширины/высоты и layoutconstraintHorizontalbias / layoutconstraintVerticalbias. Также можно использовать LinearLayout с весами (layoutweight).

Подробный разбор

Ответ с пояснениями

Использовать ConstraintLayout с ограничениями 0dp (MATCH_CONSTRAINT) для ширины/высоты и layout_constraintHorizontal_bias / layout_constraintVertical_bias. Также можно использовать LinearLayout с весами (layout_weight).

Другие подходы:

  • RecyclerView / ListView с различными типами элементов.
  • FlexboxLayout из Google.
  • Программно рассчитывать размеры во onCreate или onMeasure.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку