use*_*941 8 android view adapter scrollview
我有一个应用程序,显示电视指南的频道列表.我的UI是由许多不同宽度的自定义视图组成的,这些视图显示了电视节目,所有这些自定义视图都被添加到水平滚动视图中,并添加到滚动视图中,因此我的视图可以滚动到左右两个维度 - 顶部 - 下.这一切都很好,直到我添加添加了很多视图,它开始慢下来.所以我需要一种方法来回收像listiew那样的滚动视图中的视图,也许有一个定制的scrollview可以做到这一点,或者有人知道如何做到这一点,奇怪的是scrollview不是由gridview和listview等适配器备份的.
我做了类似的事情只有我的视图没有像你的那样连接,但它们都是不同的大小.
首先,您需要定义整个区域(不仅仅是查看屏幕)是否具有自定义视图的确定或动态数量.
如果你有明确的视图数量和它们的位置,你应该用Rect的列表创建它们的位置图(无论xy点是否属于,Rect都有很好的功能).然后,您可以定义屏幕上可见的最大视图数.为了在没有恒定加载的情况下工作,您应该具有最大可见视图+至少一行总对象的边界视图.在这之后你应该很容易拥有自己的定位系统来加载屏幕边界的视图+一些开销(目的是让你的用户在滚动至少一段时间时顺利过渡),如果你需要在卸载时加载一些(读取重用/不处理对象并在onScroll事件上创建它们)并根据需要放置它们.
如果您想确定哪些视图应该是可见的,您只需浏览列表并询问Views Rect是否与要加载的Rect区域相交.
希望这张图片有所帮助

我知道这听起来有点混乱,难以实施,但你没有问过一个简单的问题:)希望这有助于并享受你的工作.
| 归档时间: |
|
| 查看次数: |
4916 次 |
| 最近记录: |