假设我有2个视图。那些2的文本值可以是id tvLabel的视图,而与clValueContainer可以更大的视图相比,高度可以更大。现在,我要使2个视图遵循它们的高度,以更大的高度复制另一个视图。关于这个有什么想法吗?
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tvLabel"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:minHeight="@dimen/_35sdp"
android:layout_marginEnd="@dimen/_1sdp"
android:paddingTop="@dimen/_12sdp"
android:paddingBottom="@dimen/_12sdp"
android:paddingEnd="@dimen/_3sdp"
android:text="@{label}"
android:textColor="@color/color_light"
android:textSize="@dimen/_12ssp"
android:gravity="start|center"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintEnd_toStartOf="@+id/clValueContainer"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="@+id/clValueContainer"
tools:ignore="RtlSymmetry"
tools:text="@string/rental_reversions"/>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/clValueContainer"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/_1sdp"
android:paddingTop="@dimen/_6sdp"
android:paddingBottom="@dimen/_6sdp"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintVertical_bias="0.0"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/tvLabel"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="@+id/tvLabel">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tvValue"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:minWidth="@dimen/_40sdp"
android:text="@{score ? @string/provided : @string/missing}"
android:textColor="@color/color_dark"
android:textSize="@dimen/_12ssp"
android:gravity="center_vertical|end"
android:textAlignment="center"
android:padding="@dimen/_6sdp"
app:data="@{score}"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
tools:ignore="RtlSymmetry"
tools:text="10.0"
tools:background="@drawable/rounded_green"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
最后得到了,我将在下面解释如何获得它。参见下面的新代码:
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/clRowContainer"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tvLabel"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:minHeight="@dimen/_35sdp"
android:layout_marginEnd="@dimen/_1sdp"
android:paddingTop="@dimen/_12sdp"
android:paddingBottom="@dimen/_12sdp"
android:paddingEnd="@dimen/_3sdp"
android:text="@{label}"
android:textColor="@color/color_light"
android:textSize="@dimen/_12ssp"
android:gravity="start|center"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintEnd_toStartOf="@+id/clValueContainer"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="@+id/clValueContainer"
tools:ignore="RtlSymmetry"
tools:text="@string/rental_reversions"/>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/clValueContainer"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/_1sdp"
android:paddingTop="@dimen/_6sdp"
android:paddingBottom="@dimen/_6sdp"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintVertical_bias="0.0"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/tvLabel"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="@+id/tvLabel">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tvValue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="@dimen/_40sdp"
android:text="@{score ? @string/provided : @string/missing}"
android:textColor="@color/color_dark"
android:textSize="@dimen/_12ssp"
android:gravity="center_vertical|end"
android:textAlignment="center"
android:padding="@dimen/_6sdp"
app:data="@{score}"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
tools:ignore="RtlSymmetry"
tools:text="10.0"
tools:background="@drawable/rounded_green"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
现在,要解决此问题,由于我们要复制其高度,因此请在每个视图的底部创建2个约束并将它们相互连接。使视图的高度wrap_content
和完成的高度都已经固定。
如果您想复制另一个更大的元素的宽度,也只是将它的开始或结束限制到每个元素的宽度,并将其宽度设置为wrap_content,这也是相同的。