Лучшие из LinearLayout, RelativeLayout и последних ConstraintLayout - PullRequest
0 голосов
/ 05 мая 2018

У меня много вопросов по этому поводу. Я хорошо разбираюсь в использовании LinearLayout, RelativeLayout или ConstraintLayout, хочу знать лучше. Если у некоторых есть причины использовать один из них.

Некоторые вопросы:

  1. Я думаю, что LinearLayout добавит иерархию узлов, для рендеринга которой потребуется больше времени, чем для RelativeLayout или ContraintLayout, верно?
  2. Почему Android рассматривает ContraintLayout для использования более чем RelativeLayout и LinearLayout? Даже я могу сделать тот же макет в LinearLayout или RelativeLayout

1 Ответ

0 голосов
/ 05 мая 2018

Я думаю, что LinearLayout добавит иерархию узлов, для визуализации которой потребуется больше времени, чем для RelativeLayout или ContraintLayout, верно?

Вложенные LinearLayout виджеты может медленнее отображаться. Не гарантируется, что будет медленнее отображаться. Использование вложенных весов является одним из известных способов получить медленный набор вложенных LinearLayout виджетов.

Почему Android считает, что ContraintLayout использует больше, чем RelativeLayout и LinearLayout?

ConstraintLayout обрабатывает больше сценариев, чем LinearLayout и RelativeLayout. ConstraintLayout проще для IDE поддерживать с помощью перетаскивания, чем RelativeLayout.

Даже я могу сделать такой же макет в LinearLayout или RelativeLayout

Существует множество сценариев, которые было бы трудно реализовать в LinearLayout или RelativeLayout, но с которыми ConstraintLayout можно легко справиться, например:

  • Круговое позиционирование

  • Минимальный и максимальный размер самого ConstraintLayout (чтобы помочь wrap_content стать слишком маленьким или слишком большим)

  • Наличие у ребенка определенного пропорции

  • Реализация некоторых разновидностей цепей

  • Привязка детей к искусственным строкам на основе правил, таким как Guideline и Barrier

...