【发布时间】:2019-11-03 21:29:30
【问题描述】:
所以我正在创建一个对话框片段以允许用户从一些选项中进行选择。我在约束布局中有一个非常简单的布局。 TextView 在顶部,recycler 视图,然后是底部的两个按钮。
问题是,我希望 recyclerview 包装内容,这样如果选项不多,对话框就会缩小。但是,如果有很多选项,我希望它展开,然后开始滚动,以便所有视图都在屏幕上可见。
我似乎无法摆脱它不断变大的情况。或者,如果我只允许包装内容,对话框将变得如此之大,以至于缺少底部按钮。
我假设它与某些特定的约束选项有关,但我无法弄清楚组合。有什么想法吗?
编辑:我知道一个简单的答案是在回收站视图上设置最大高度。我希望做同样的事情,但有限制,所以它不是固定的硬高度。
EDIT2:如果视图模型的高度是固定的,那么默认情况下,约束看起来会很好地使用 wrap。不过,我真的无法处理固定高度的视图模型......
谢谢
【问题讨论】:
-
这里的任何答案都有效吗? (stackoverflow.com/questions/40850966/…)
app:layout_constrainedHeight="true". -
创建一个覆盖onMeasure方法的customrecyclerview
-
@TylerV 嘿,它们仅在您的 ViewHolders 具有固定高度时才有效。如果这些是包装内容(我觉得这是大多数视图持有者),那么它的大小不正确。我的猜测是因为如果它的内容可以是动态的,它就不能可靠地知道如何调整大小。仅此一项与动态高度视图持有者一起使其始终增长到最大约束。
标签: android android-recyclerview android-constraintlayout android-dialogfragment