【发布时间】:2020-10-19 22:40:07
【问题描述】:
我正在尝试创建一个布局,其中项目将在列中彼此跟随(见下图),但我还没有到达那里。我已经尝试过GridLayoutManager 和StaggeredGridLayoutManager - 两者的问题都没有提供项目流入另一列并以这种方式相互跟随的特性。根据我目前的尝试,我正在尝试FlexboxLayoutManager,但我得到的结果总是带有单个项目的列,而不是一个接一个地流动的项目。
期望的行为是项目一个接一个地定位,当回收器的高度不允许完整的项目视图时,它应该被分解到下一列。
这是我现在正在尝试的:
mBinding?.activeRecycler?.layoutManager = FlexboxLayoutManager(context).apply {
flexDirection = FlexDirection.COLUMN
flexWrap = FlexWrap.WRAP
alignItems = AlignItems.STRETCH
}
这让我每列有一个项目。
正在努力实现这一目标:
【问题讨论】:
-
StaggeredGridLayoutManager? -
编辑了问题,StaggeredGridLayoutManager 没有提供我正在寻找的内容 - 特别是如果高度较大,项目会流向下一列
-
一个 LayoutManager 应该如何将一个项目分成两部分,就像项目 3 的图形一样?它只能从布局的角度来操作现有的项目。您能否更具体地说明您正在显示的内容类型以及在中间拆分时的外观(如第 3 项)?
-
@ymindstorm 我正在显示一张带有多个文本字段的卡片,它看起来应该到达窗口底部并继续下一列,就好像它流入第二列一样。是的,我知道布局管理器可以操纵一个项目,所以如果高度大于窗口允许的高度(如项目 3),我想操纵现有项目以显示在 2 列上。
-
布局管理器可以是自定义解决方案,也可以是任何允许使用回收站视图的解决方案
标签: android android-layout android-recyclerview