我有一个回收视图,我正在使用约束布局。现在我想使用高度作为 wrap_content 但想设置最大高度(以百分比为单位)。我如何使用约束布局来实现这一点?
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:visibility="gone"
app:layout_constraintTop_toBottomOf="@+id/search_view"
android:layout_height="0dp"
app:layout_constraintHeight_default="wrap"
app:layout_constraintHeight_max="500dp"
android:scrollbars="vertical"/>
由于您正在使用
ConstraintLayout
,您可以使用 Guideline
如下所示来约束 RecyclerView's
高度。
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.85"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:scrollbars="vertical"
app:layout_constraintTop_toBottomOf="@+id/search_view"
app:layout_constraintBottom_toBottomOf="@id/guideline3" />
Guideline
有一个 layout_constraintGuide_percent
,您可以在其中指定 RecyclerView
所需的百分比。
你可以尝试一下这个
app:layout_constraintHorizontal_bias
app:layout_constraintVertical_bias
app:layout_constraintHeight_percent="0.17