android - 少于 4 个 View 的 ViewPager Circular

标签 android android-viewpager carousel

我正在尝试使用 ViewPager 组件实现无限轮播。我基于 Antonyt 创建的那个但是使用少于 4 个 View 会出现问题。由于 View 已经到位。必须是一种欺骗 Viewpager 在不同位置绘制相同 View /页面的方法。

最佳答案

我遇到了同样的问题,自己找不到解决方案。但我想只使用 1-4 个 View 是不可能的。问题是所有 View (重复 1-4 张图像)将立即实例化(或至少在很短的时间间隔内),这会干扰图像加载过程,因为上一个加载尚未完成,所以上一个一个返回损坏的 View 。不过,您可以像这样处理它。

1) 在实例化之后,使用延迟 100-200 毫秒的处理程序在任一方向上一次又一次地(大约 10 次)翻转 View setCurrentItem(),这样原始的 4 将是超出范围(如果你有屏幕外页面限制,我希望你有,因为你的代码的无限性质)并且稍后将一个一个地创建。

2)使用多个缓冲对象,

1 个图像 - 8 个缓冲区

2 个图像 - 每个 4 个缓冲区

3 张图像 - 每张 2 个缓冲区...类似这样。

这两个都不是理想的解决方案,但都对我有用。我也想知道你试过什么。

关于android - 少于 4 个 View 的 ViewPager Circular,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13725953/

相关文章:

android - 如何告诉我的自定义 FragmentPagerAdapter 停止销毁我的 Fragment?

javascript - Carousal - 显示元素高度动态

android - 需要 Volley API 调用简化解决方案,从单一方法调用所有 API

android - 使 ImageView 可见和不可见

android - 如果我们必须在 android 中使用 viewpager 创建多个页面,那么我们是否必须创建多个 fragment ?还有其他选择吗?

android - 处理 ViewPager 的方向变化

javascript - bootstrap carousel - 滑动时暂停 html 视频

jquery - Bootstrap 3 轮播无法正确显示或更改图像

android - 在 TestCase 中启动第二个 Activity (这不是被测 Activity )

android - 有没有办法知道我的 flutter 应用程序使用的是哪个 Android API 版本?