【发布时间】:2017-09-03 10:21:30
【问题描述】:
我正在尝试使用 ConstraintLayout(1.0.2 版)来设置 2 个并排视图的高度以匹配其中最高的一个。这用作 RecyclerView 中的 ViewHolder,其中每个 TextView 获取任意长度的文本...
如果我将每个设置为 wrap_content,则较短的会缩小。 如果我将两者都设置为 0dp(match_contraints),则两者最终都为 0 高度。
设置如下:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_marginLeft="2dp"
android:layout_marginRight="2dp"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/id1"
android:layout_width="60dp"
android:layout_height="0dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@+id/id2"/>
<TextView
android:id="@+id/id2"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/id1"
app:layout_constraintEnd_toEndOf="parent"/>
</android.support.constraint.ConstraintLayout>
我想这是一个错误,因为“0dp”应该更像 match_parent 而不是实际的 0 dp。
顺便说一句,在 iOS 上,等效的自动布局规则(设置视图的高度以匹配父级的顶部和底部)会产生预期的结果。
当然,使用 LinearLayout 非常简单,但是这个布局在更大的布局中起作用,我想修剪视图层次...
【问题讨论】:
-
Watch this 获取有关使用屏障的帮助。
标签: android android-constraintlayout