ViewPager屏幕外页面限制

use*_*545 28 android android-fragments android-viewpager

有没有办法绕过正常行为ViewPager及其屏幕外页面限制?我的ViewPager包含四个fragments,每个包含一个gridview图像.我遇到的问题是,在创建ViewPager两个时,fragments会产生两个图像,这导致同时从catch中下载/获取大约20个图像(每个片段大约10个).是否可以禁用屏幕外页面限制?

我的目标是仅在fragment选择a时下载图像,或仅在用户悬停图像时下载图像.实现此目的的一种方法是使用onPageSelected侦听器并设置一个标志,该标志告诉GridViewAdapter它是否允许下载图像.

我能想到的第二个方法是设置HoverListenerImageView,只有下载的图像onHover,但听者只在4.0及更高版本.

有没有更好的方法来实现这一目标?

Com*_*are 41

是否可以禁用屏幕外页面限制?

不可以.它已设置为最小可能值:查看页面每侧一页.这对于使动画效果起作用是必要的 - 您可以同时看到两个片段(原始片段和新片段)的一部分.

我的目标是仅在选择片段时下载图像,或仅在用户悬停图像时下载图像.

然后使用占位符图像加载网格,并且在页面更改之前不要加载实际图像.

此外,请注意"悬停"意味着某种类型的鼠标或类似的指针,这在大多数Android设备上都没有使用.


Dro*_*der 31

只需将屏幕外限制设置为1即可.

ViewPager mViewpager = (ViewPager)findView....
mViewPager.setOffscreenPageLimit(1);
Run Code Online (Sandbox Code Playgroud)


Has*_*ina 6

我的目标是仅在选择片段时下载图像

您可以setUserVisibleHint(boolean isVisibleToUser)在ViewPager中使用Fragment的回调.