每行可变列宽的表(类似于iOS的UICollectionView)

Pet*_*ler 11 java android android-layout

Android SDK中是否有iOS UICollectionView的等价物?

我需要实现类似的"表格"布局,如​​下所示,但由于有许多单元格(用户将滚动屏幕以查看所有单元格),出于性能原因,我需要重新使用单元格.

+-----------------+----------+--------+
| cell 1          | cell 2   | cell 3 |
+-----------------+--+-------+--+-----+
| cell 4  | cell 5   | cell 6   |
+---------+---+------+-----+----+---------+
| cell 7      | cell 8     | cell 9       |
+-------------+------------+--------------+
Run Code Online (Sandbox Code Playgroud)

我想为每一行使用单独的GridView,但我需要立即滚动所有表格,我不确定单元格重用是否会以这种方式正常工作.

实现上表的最佳方法是什么?

Ben*_*ein 4

如果您可以将单元格设置为预定义的宽度,您应该查看TwoWayGridView

否则,您要寻找的是 AOSP 的实验分支,它称为 StaggeredGridView。他们已经开始实施,但它还很年轻并且没有准备好,尽管它可能会给您一个从哪里开始的提示。

一般来说,有不同的方法可以实现这一点,根据我的经验,您可能最终不得不自己编写一个强大的视图回收器和重用器,以便能够依赖现有的 API 和小部件,您只需计算滚动的宽度并在视图分离或需要在滚动事件时附加到容器时放置视图。