在 Android 的 Scrollview 中使用约束布局是个好主意吗?

Is it good idea to use Constrain layout inside Scrollview in Android?

我作为 OEM 开发人员工作,我们为所有应用程序使用通用 GUI 库。在我们的应用程序中,我们正在扩展 GUI 库,它带有 ScrollView 作为我的应用程序的基本布局。现在我的团队正计划在应用程序中使用约束布局。我们可以在滚动视图中使用约束布局吗?

我使用 Android 设计工具将线性布局转换为约束布局。但 滚动不起作用。

<ScrollView
    style="@style/Body_ScrollView"
    android:id="@+id/no_sim_layout">

    <LinearLayout style="@style/Body.LinearLayout.No_Sim">
        <-- All other child views are going here-->
    </LinearLayout>

</ScrollView>

想转换成

<ScrollView
    style="@style/Body_ScrollView"
    android:id="@+id/no_sim_layout">

    <ConstrainLayout style="@style/Body.LinearLayout.No_Sim">
           <-- All other child views are going here-->
    </ConstrainLayout>

</ScrollView>

对,肯定是Constraint-layout 首先要明白这个:

ConstraintLayout 的目的是通过对每个视图应用一些规则来优化和展平布局的视图层次结构以避免nesting.Which推荐的相对布局规则。

此外,它还提供动态视图对齐 属性 作为约束、基线、视图链接以及许多其他提供无缝展平层次结构的内容。如果我们在 Scrollview 中使用 Constraint,我们不需要像在 LinearLayout 和许多其他视图中那样管理每个视图 属性。它更简单,直接从提供的依赖项中获得好处。

<ConstrintLayout>
   <ScrollView>
    <ConstrintLayout>
        //Single ParentConstrain else child
    </ConstrintLayout>
   </ScrollView>
</ConstrintLayout>

如果采用其他方式,这会使您的复杂 XML 代码更难以理解,并且根据 在 [=33 处计算的权重和位置来构建 UI 很重=] 上机时间.

约束直接受益于输入依赖性

 <ConstrintLayout>
       <ScrollView>
        <LinearLayout>
            //Many different view to manage view
        </LinearLayout>
       </ScrollView>
    </ConstrintLayout>