首页 > 解决方案 > 如何使用约束布局设置recyclerview最小高度wrap_content但最大百分比?

问题描述

我有一个 recyclerview,我正在使用约束布局。现在我想使用高度作为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"/>

标签: androidandroid-layoutandroid-recyclerviewandroid-constraintlayout

解决方案


由于您正在使用ConstraintLayout,您可以使用 aGuideline来限制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


推荐阅读