我读过一些关于布局嵌套的文章,有人说这是一种不好的做法,但我有一个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,我如何实现相同的输出,因为布局嵌套看起来很糟糕?
1条答案
按热度按时间vq8itlhq1#
为了提高性能,嵌套组件/容器更好,但是在一些复杂的布局中,它们可以使代码更易于理解,并有助于将代码部分封装在单独的可重用文件中。