我需要创建一个水平列表类型的视图,它显示许多视图只是一个图像和一小段文本。该列表需要可以通过惯性滚动进行轻弹,具有视图的回收能力,并且需要能够在视图可见或超出可见范围时延迟加载视图。
这是我考虑过的以及为什么它们看起来不合适的原因。
图库 - 已弃用,因此无法使用。
ViewPager - 不允许您轻弹页面,轻弹只是移动到下一页。
HorizontalScrollView - 需要手动添加视图而不是使用适配器来提供所需的视图,因此视图不会被回收或延迟加载。
我也不能使用其他人创建的任何库或视图来实现这一点,无论他们的许可证是否表明他们可以免费使用。
为了实现这一目标,我想到了两种选择。第一种是使用 HorizontalScrollView 并在设置时创建和添加所有子视图但没有它们的图像,然后检测视图何时几乎可见并加载它们的图像。我仍然可以创建几百个视图并一次性将它们添加到这里,但至少我不会将所有图像加载到内存中。第二种选择是编写我自己的 AdapterView 来做我想做的事情,这似乎是最灵活但也是最劳动密集型的。
任何关于实现这一目标的最佳方式的意见将不胜感激。
谢谢