11

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

我需要实现如下类似的“表格”布局,但是由于有很多单元格(用户将滚动屏幕以查看所有内容),出于性能原因,我需要重新使用单元格。

+-----------------+----------+--------+
| cell 1          | cell 2   | cell 3 |
+-----------------+--+-------+--+-----+
| cell 4  | cell 5   | cell 6   |
+---------+---+------+-----+----+---------+
| cell 7      | cell 8     | cell 9       |
+-------------+------------+--------------+

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

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

4

3 回答 3

4

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

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

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

于 2013-02-02T00:18:49.797 回答
1

我认为StaggeredGridViewQuiltView库将帮助您解决问题。使用这些库,我们可以根据宽度和高度排列图像

如果您正在使用被子视图,您可以通过更改ScaleType等来以不同的样式排列它。

我没有尝试过 TwoWayGridView 但值得一试。我希望这有帮助.. :)

于 2013-02-06T12:26:05.473 回答
1

我不确定,但您可以在此处找到您的问题的解决方案。

我认为Bucket List Adapter是您问题的解决方案。请尝试实施它并让我知道。

随意发表评论。享受编码。:)

更新

你也可以像你说的那样做。只需在用户从下到上滚动时创建 Dynamic TableLayout。因此它不会占用太多内存,并且还会根据您的自定义视图显示数据。这样,您将拥有 Scroll 将所有单元格并解决内存问题。

于 2013-02-04T06:59:26.690 回答