java—在约束布局中使用线性/相对布局不好吗?

ckocjqey  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(360)

我读过一些关于布局嵌套的文章,有人说这是一种不好的做法,但我有一个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>

在constraintlayout中将2个LinearLayout用作子布局,我现在的输出是什么?如果没有这2个LinearLayout,我如何实现相同的输出,因为布局嵌套看起来很糟糕?

vq8itlhq

vq8itlhq1#

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

相关问题