GridLayoutManager.LayoutParams
表示:
请注意,如果方向为
VERTICAL
,则忽略width参数,如果方向为HORIZONTAL
,则忽略height参数,因为子视图应填充给定的所有空间对它。
这种限制是否有任何干净的方法?
我的用例是有两列宽度与其子项匹配(WRAP_CONTENT
),第三列根据可用宽度自由缩小和扩展:
|---|------|-------------------------------|
|ABE|Fills |This one |
|A |The |Expands |
| |Column|Freely |
|---|------|-------------------------------|
我已尝试WRAP_CONTENT
,但它只会缩小列的内容,但不会缩小实际列。
避免这种情况的一个不太好的方法是使用HORIZONTAL
,转置数据并继续调用setSpanCount
,但这有点违背了使用RecyclerView
的目的。
另一种方法是实现自定义LayoutManager
,但这似乎有很多工作。