3 个 textView 项目根据其长度换行

lines break of 3 textView items according to their length

问题有这个UI问题:

1) 我有 3 个 textViews,我想将其保存在一个父视图中。

2) 我想在尽可能少的行中填充尽可能多的项目。

3) 只有两个项目之间有一个分隔符。

建议的算法:

获取容器的宽度获取每个项目未指定的宽度(为此我必须创建一个自定义 textView 来覆盖 onMeasure())。

计算并放在一边"last line remaining width"

如果下一个 textView 可以容纳最后一行的剩余宽度:

其他:

我有两个选择:

  1. 使用水平线性布局的垂直线性布局。
  2. 使用约束布局。

我会填写一个列表列表,并通过代码填充水平线性布局。

或者通过代码填充约束布局(不太通用,我想更难)。

有没有更简单的解决方案?

如果我没有正确理解您的要求,我相信 the FlexboxLayout library from Google 应该完全符合您的要求。

您可能会使用 FlexboxLayout(而不是 RecyclerViewFlexboxLayoutManager),但值得一提的是,该库还支持回收。