Android SDK中的iOS UICollectionView是否相同?
我需要实现类似的“表格”布局,如下所示,但由于有许多单元格(用户将滚动屏幕以查看全部)出于性能原因,我需要重新使用单元格。
+-----------------+----------+--------+
| cell 1 | cell 2 | cell 3 |
+-----------------+--+-------+--+-----+
| cell 4 | cell 5 | cell 6 |
+---------+---+------+-----+----+---------+
| cell 7 | cell 8 | cell 9 |
+-------------+------------+--------------+
我正在考虑为每一行使用单独的GridView,但我需要立即滚动所有表格,我不确定单元格重用是否会以这种方式正常工作。
实施上表的最佳方式是什么?
答案 0 :(得分:4)
如果您可以将单元格设置为预定义的宽度,则应该查看TwoWayGridView。
否则,您正在寻找的是AOSP的实验分支,它被称为StaggeredGridView。 他们已经开始实施,但它还很年轻且毫无准备,但它可能会给你一个关于从哪里开始的提示。
通常,有不同的方法,根据我的经验,您可能最终必须编写一个良好的强大视图回收器并自己重新用户,以便能够依赖现有的API和小部件,您只能在必须计算滚动的宽度,并在滚动事件时分离或需要将视图附加到容器时放置视图。
答案 1 :(得分:1)
我不确定,但您可以找到针对您的问题的解决方案here.
我认为Bucket List Adapter是您问题的解决方案。 请尝试实施它并告诉我。
随意发表评论。享受编码。 :)
<强>已更新强>
你也可以像你说的那样做。当用户从下到上滚动时,只需创建Dynamic TableLayout。因此它不会占用太多内存,也会根据您的自定义视图显示数据。通过这种方式,您将拥有Scroll所有单元格,并且还解决了内存问题。
答案 2 :(得分:1)
我认为StaggeredGridView或QuiltView图书馆可以帮助您解决问题。使用这些库,我们可以根据宽度和高度排列图像
如果您正在使用被子视图,则可以通过更改ScaleType
等来以不同的方式对其进行规避。
我没有尝试过TwoWayGridView,但值得一试。我希望这会有所帮助.. :)