美文网首页
react-native-EZSwiper卡片轮播组件Andro

react-native-EZSwiper卡片轮播组件Andro

作者: _不爱笑的猫 | 来源:发表于2018-11-22 16:35 被阅读0次

因项目需求,需要做一个卡片的轮播图。然后顺理成章的找到react-native-EZSwiper轮子,很赞。

ios完全能满足我的需求,但是Android测试的时候就凉了。

Android Case:当组件自动轮播到最后一张,我满心期待的看它轮播回到第一张......But,它...停了...停了...了。

是的,它不动了。然后苦逼的我只能看源码了。

当时遇到这个问题我在各种搜,,,看Issue,But是不是就我一个人遇到这个问题。。。没有任何关于这个的问题。。。

组件自动轮播是根据 autoPlay 方法实现自动播放,在autoPlay中调取 scrollTo 方法控制图片位移切换,位移切换过程 onScroll 监测

到方法,根据对应场景再次调取auto或者Scrooll,从而循环。

Andriod在最后一张轮播图时候,scrollTo And onScroll没有被调取。具体原因由于需求比较急就没细看,只是单独针对这个Case做了点改动:

在ScroollTo中轮播到最后一张图片时候代码手动调取ScroollTo方法,但是注意要加入一个SetTimeout Func,否者到最后一张再次轮播时候会非常突兀。

if (index === this.props.dataSource.length && Platform.OS === 'android') {

        setTimeout(()=> {

          this.scrollTo(this.scrollIndex + 1);

        },this.ezswiper.autoplayTimeout * 1000);

      }

其实只是为了解决Android轮播到最后一张不动情况,这行代码已经解决,但是,,切换到第一张的过渡效果确实不尽人意。会出现闪烁情况。继续看源码...然后发现在onScroll监听方法中,每当最后一张切换第一张时候会调取

offset = this.ezswiper.side;

 this.scrollView.scrollTo({ [this.ezswiper.scrollToDirection]: offset, animated: false });

ios完全OK,andriod就会出现闪屏,哎,硬着头皮继续为了需求搞。。。

针对Android加入以下代码:

this.scrollView.scrollTo(); // 必须要先调取ScrollTo后再给值

this.scrollView.scrollTo({ [this.ezswiper.scrollToDirection]: offset, animated: false });

ok,就好了。

希望能帮组到你

相关文章

  • react-native-EZSwiper卡片轮播组件Andro

    因项目需求,需要做一个卡片的轮播图。然后顺理成章的找到react-native-EZSwiper轮子,很赞。 io...

  • MUI组件(4)

    slide(轮播组件) 轮播组件是MUI提供的核心组件之一,基于轮播组件衍生出了图片轮播、可拖动式图文表格、可拖动...

  • react中视频功能和swiper遇到的坑

    接到一个react的需求,需要做一个卡片切换的需求,卡片包含轮播,每个卡片的轮播里有图片有视频,切换卡片之后轮播要...

  • 面向对象实战

    封装轮播组件 轮播 封装曝光加载组件 曝光加载 封装Tab 组件 Tab组件

  • 组件

    题目1: 封装一个轮播组件轮播组件轮播组件2,使用IIFE 题目2: 封装一个曝光加载组件曝光加载组件 题目3: ...

  • 面向对象实战

    代码预览 tab组件懒加载组件无限轮播组件无限轮播二次封装组件modal组件日历组件

  • 3D卡片轮播,卡片轮播,无限轮播,DIY

    3D卡片轮播,卡片轮播,无限轮播,DIY Github地址 如果喜欢,请给一个小星星。O(∩_∩)O谢谢! 详细请...

  • 面向对象 实战 -常用JS组件

    轮播组件轮播二次封装预览 曝光加载组件预览 Tab 组件预览 日历组件预览 Modal 组件预览

  • 封装组件-面向对象

    tab组件化tab组件化代码 图片曝光组件化图片曝光组件化代码 轮播组件化轮播组件化代码

  • 高级3 组件

    轮播组件曝光组件tab组件

网友评论

      本文标题:react-native-EZSwiper卡片轮播组件Andro

      本文链接:https://www.haomeiwen.com/subject/llnlqqtx.html