Java 在约束布局中使用线性/相对布局是否不好?

Java 在约束布局中使用线性/相对布局是否不好?,java,android,android-layout,Java,Android,Android Layout,我读过一些关于布局嵌套的文章,有人说这是一种糟糕的做法,但我有一个xml布局,它使我更容易使用线性布局对视图进行分组,然后将它们相互约束 <android.support.constraint.ConstraintLayout android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout an

我读过一些关于布局嵌套的文章,有人说这是一种糟糕的做法,但我有一个xml布局,它使我更容易使用线性布局对视图进行分组,然后将它们相互约束

<android.support.constraint.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <LinearLayout
            android:id="@+id/linearMarkStart"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toStartOf="@id/linearEndMark">

            <TextView
                android:id="@+id/mark_start"
                android:text="@string/start_label"
                android:textColor="#ffffffff"
                android:textSize="14sp"
                android:textStyle="bold"
                android:labelFor="@+id/starttext"
                android:clickable="true"
                android:focusable="true"
                android:gravity="center"
                android:layout_width="wrap_content"
                android:layout_height="31dip"/>

            <EditText
                android:id="@+id/starttext"
                android:textSize="16sp"
                android:textColor="@color/white"
                android:inputType="number|numberDecimal"
                android:layout_marginStart="10dip"
                android:layout_marginEnd="30dip"
                android:layout_width="70dip"
                android:layout_height="wrap_content"
                android:gravity="center" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/linearEndMark"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toEndOf="@id/linearMarkStart">

            <TextView
                android:id="@+id/mark_end"
                android:text="@string/end_label"
                android:textColor="#ffffffff"
                android:textSize="14sp"
                android:textStyle="bold"
                android:labelFor="@+id/endtext"
                android:clickable="true"
                android:focusable="true"
                android:gravity="center"
                android:layout_width="wrap_content"
                android:layout_height="31dip" />

            <EditText
                android:id="@+id/endtext"
                android:textSize="16sp"
                android:textColor="@color/white"
                android:inputType="number|numberDecimal"
                android:layout_width="70dip"
                android:layout_height="wrap_content"
                android:layout_marginStart="10dip"
                />

        </LinearLayout>
</ConstraintLayout>

对于性能而言,嵌套组件/容器更好,但在一些复杂的布局中,它们可以使代码易于理解,并有助于将代码部分封装在单独的可重用文件中。

您的问题是什么?嵌套不好,尽量避免太多级别-这是常识,有很多工具可以分析布局性能,因此您可以检查每种情况。@ViktorYakunin但是对于我的情况,要对视图进行分组,我可以在约束内使用线性布局吗?根据您提到的,其中一个根是无用的。您不需要两者。@GamericousBlog显示完整布局文件,所以这很清楚,目前它不是-什么是LineardMark?@ViktorYakunin另一个linearlayout,它也包含textview和edittext。所以对于我的情况,可以使用constraintlayout,将两个linearlayout作为组视图的子布局?这使得定位更容易,我想,但有人说布局嵌套不好?你的解决方案是可以接受的,你可以使用它,不会有问题,只是性能有点差,但在现代智能手机中,它对用户体验影响不大。