How to build complex UI in flat way.

Before beginning

Атрибут adjustViewBounds заставляет картинку подчиниться размеру компонента-контейнера.

android:adjustViewBounds: = Set this to true if you want the ImageView to adjust its bounds to preserve the aspect ratio of its drawable.

Basic Notes

  • width =”0dp” Это match contraints. т.е указание constraint layout выстраивать ширину(или длину) исходя из указанных contstraints.

  • how to set смещение , он же bias

  • WRAP_CONTENT : enforcing constraints (Added in 1.1)

If a dimension is set to WRAP_CONTENT, in versions before 1.1 they will be treated as a literal dimension – meaning, constraints will not limit the resulting dimension. Чтобы при wrap_content уважал constraint то проставляй:

	app:layout_constrainedWidth="true|false"
    app:layout_constrainedHeight="true|false"
  • app:layout_goneMarginTop="16dp"

    When a position constraint target’s visibility is View.GONE, you can also indicate a different margin value to be used.

Работа с текстом

-baseline - когда текстовые вьюшки остаются на 1 мнимой линии

Helpers

Barrier

Определяет где располагается конец опеределенной группы виджетов.

Flow

виртуальный помощник,позвол. описывать группу виджетов и задавать в ней правила по которым они размещаются.

FLOW появился только в ConstraintLayout 2.0

Text Baseline

Chain

Это связка вьюшек друг за другом, имеющая отношения между собой. Стиль chain:

  • packed
  • spread
  • spread_inside

Guideline