0

我需要一个具有不同高度的行的 GridView。仅适用于行,不适用于行内的项目。连续的项目具有相同的高度。

我已经尝试使用 Android 的 GridView 来做到这一点,但遇到了奇怪的事情。上下滚动时,网格会扭曲,在某些时候,当向上滚动时,它会消失。如果我将所有行的高度相同,它会起作用,但是一旦它们有点不同,就会出现问题。

所以看来我必须制作一个自定义视图。它必须具有非常好的性能和低内存使用率。是否足以扩展例如相对布局,并将我的所有项目都放置在一定的上边距和左边距上?还是扩展 View 并直接绘制到画布上?还是滚动条?

嵌入式问题:这(可能取决于我是扩展一些布局还是直接查看)是否会设法仅加载出现在屏幕上的内容(列表很长,我不希望所有对象一次都在内存中) 还是我必须自己实现?

提前致谢!

4

1 回答 1

0

我认为您无法做到并获得“良好的表现”。使 Android 高效的原因在于它对视图的回收。由于行与行之间的行高不同,我不知道它如何以任何有效的方式(或根本)回收视图。

我想这取决于行高差异是否已知/可知以及会有多少以及它们是否处于可以预测的任何模式中,因此您可以设置自定义适配器来处理视图回收。

如果您可以确定上述内容,那么扩展适配器并自己处理视图回收可能就是答案。

于 2012-06-29T13:09:39.187 回答