我读了一些关于布局嵌套的文章,有些人说这是一种不好的做法,但是我有一个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>
我现在通过使用2个linearlayouts作为constraintlayout中的子布局来输出什么,而我又不用那些2个linearlayouts如何实现相同的效果,因为布局嵌套不好,看来呢?
答案 0 :(得分:1)
为提高性能,嵌套组件/容器更好,但是在某些复杂的布局中,它们可以使代码易于理解,并有助于将代码部分封装在单独的可重用文件中。