Да, определенно, макет Constraint сначала понимает это:
Намерение ConstraintLayout состоит в том, чтобы оптимизировать и сгладить иерархию представлений ваших макетов , применяя некоторые правила к каждому представлению, чтобы избежать вложения.Кто рекомендует правила Относительного макета.
Более того, он предоставляет свойство динамического выравнивания вида в виде ограничений, базовых линий, цепочек представлений и многих других, которые обеспечивают плавную иерархию сглаживания. Если мы использовали Constraint в Scrollview, нам не нужно управлять каждым свойством вида, например, взвешиванием в LinearLayout и многими другими. Это намного более просто и непосредственно получает преимущества от предоставленных зависимостей.
<ConstrintLayout>
<ScrollView>
<ConstrintLayout>
//Single ParentConstrain else child
</ConstrintLayout>
</ScrollView>
</ConstrintLayout>
Если пойдет другим путем, это сделает ваш сложный XML-код более трудным для понимания и сложным для создания пользовательского интерфейса на основе взвешивания иПоложение, рассчитанное во время выполнения на машине .
Ограничения напрямую зависят от входных зависимостей .
<ConstrintLayout>
<ScrollView>
<LinearLayout>
//Many different view to manage view
</LinearLayout>
</ScrollView>
</ConstrintLayout>