0

假设我有一个包含 7 个“页面”的 ViewPager,并且我正在查看第 4 页:

1 2 3 [4] 5 6 7

通过以下设置,

pager.setOffscreenPageLimit(3);

ViewPager 将加载(或从 FragmentStatePagerAdapter 调用 getItem() 函数)所有 7 个页面。

有没有办法可以为当前正在显示的页面(在这种情况下为第 4 页)调用单独的函数/代码?例如,我正在尝试拥有图像库,并且我想在第 1、2、3、5、6 和 7 页加载低质量图像,同时为第 4 页加载高质量图像以获得最佳内存管理。当用户切换到第 5 页时,除第 5 页之外的所有其他页面都应该有低质量的图像。谢谢!

4

1 回答 1

0

我将创建您自己的 ViewPager 并实现回调函数 setOnPageChangeListener(ViewPager.OnPageChangeListener listener) ,然后您可以捕获触发器ViewPager.SETTLING以使用更高分辨率的图像更新当前视图。通过捕捉它,ViewPager.SETTLING您甚至可以在它完成安定之前开始加载更高分辨率的图像ViewPager.IDLING

于 2013-05-30T21:07:42.603 回答