如何使用约束布局设置recyclerview最小高度wrap_content但最大百分比?

Posted

技术标签:

【中文标题】如何使用约束布局设置recyclerview最小高度wrap_content但最大百分比?【英文标题】:How to set recyclerview minimum height wrap_content but maximum in percent using constraint layout? 【发布时间】:2021-02-27 15:08:30 【问题描述】:

我有一个 recyclerview 并且我正在使用约束布局。现在我想将高度用作 wrap_content 但想以百分比设置最大高度。我如何使用约束布局来实现这一点?

   <androidx.recyclerview.widget.RecyclerView
    android:id="@+id/recyclerView"
    android:layout_
    android:visibility="gone"

    app:layout_constraintTop_toBottomOf="@+id/search_view"

    android:layout_
    app:layout_constraintHeight_default="wrap"
    app:layout_constraintHeight_max="500dp"
    android:scrollbars="vertical"/>

【问题讨论】:

内容大于最大高度会怎样? @FrancescoBocci 然后它的工作正常包装内容 在约束布局中使用指南并将单位更改为百分比并将回收者视图约束为指南 【参考方案1】:

由于您使用的是ConstraintLayout,因此您可以使用Guideline 来限制RecyclerView's 的高度。

<androidx.constraintlayout.widget.Guideline
        android:id="@+id/guideline3"
        android:layout_
        android:layout_
        android:orientation="horizontal"
        app:layout_constraintGuide_percent="0.85"/>

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/recyclerView"
        android:layout_
        android:layout_
        android:scrollbars="vertical"
        app:layout_constraintTop_toBottomOf="@+id/search_view"
        app:layout_constraintBottom_toBottomOf="@id/guideline3" />

Guideline 有一个layout_constraintGuide_percent,您可以在其中为RecyclerView 指定所需的百分比。

【讨论】:

以上是关于如何使用约束布局设置recyclerview最小高度wrap_content但最大百分比?的主要内容,如果未能解决你的问题,请参考以下文章

recyclerview viewholder布局中的更改约束 - android

如何仅使用一个情节提要为所有 iPhone 设备设计自动布局约束?

如何彻底更改 recyclerview 中的 item 布局中的某个控件的某个属性

如何将约束布局包含到另一个约束布局并在每个约束布局之间设置约束

Recycler View 中的约束设置动画未正确设置动画

Flutter控件——布局控件:约束BoxConstraints