假设我有一个带有7个“页面”的ViewPager,我正在查看第4页的页面:
1 2 3 [4] 5 6 7
使用以下设置
pager.setOffscreenPageLimit(3);
ViewPager将从7个页面加载(或从FragmentStatePagerAdapter调用getItem()函数)。
有没有办法可以为当前正在显示的页面调用单独的函数/代码(本例中为第4页)?例如,我正在尝试拥有图像库,我想在第1,2,3,5,6和7页上加载低质量图像,同时为第4页加载高质量图像以实现最佳内存管理。当用户切换到第5页时,除5之外的所有其他页面都应具有低质量图像。谢谢!
答案 0 :(得分:0)
我会创建您自己的ViewPager并实现回调函数setOnPageChangeListener(ViewPager.OnPageChangeListener listener)
然后,您可以在ViewPager.SETTLING
上捕获触发器以使用更高分辨率的图像更新当前视图。通过在ViewPager.SETTLING
上捕获它,您可以在它完成ViewPager.IDLING
上的结算之前开始加载更高分辨率的图像。