基于React Native 0.52实现轮播图效果


Posted in Javascript onAugust 25, 2020

本文基于React Native 0.52

Demo上传到Git了,有需要可以看看,写了新内容会上传的(Git地址)

一、总览

轮播图几乎是必备的效果,这里选择 react-native-swiper 来实现,效果如下图:

基于React Native 0.52实现轮播图效果

二、实现轮播图效果

1、通过npm安装react-native-swiper

npm install react-native-swiper --save

2、在recommend.js引入react-native-swiper

import Swiper from 'react-native-swiper';

3、用 react-native-swiper 可以很容易的实现轮播的效果

  • showButtons —— 是否显示左右翻页按钮
  • autoPlay —— 是否自动播放
  • paginationStyle —— 包含小点点的容器的样式,这里用来调整位置
  • dotStyle —— 小点点的样式
  • activeDotStyle —— 当前被激活的小点点的样式
<Swiper
  style={styles.wrapper}
  height={width*40/75}
  showsButtons={false}
  autoplay={true}
  paginationStyle={styles.paginationStyle}
  dotStyle={styles.dotStyle}
  activeDotStyle={styles.activeDotStyle}
>
  <Image source={require('../../img/1.jpg')} style={styles.bannerImg} />
  <Image source={require('../../img/2.jpg')} style={styles.bannerImg} />
  <Image source={require('../../img/3.jpg')} style={styles.bannerImg} />
  <Image source={require('../../img/4.jpg')} style={styles.bannerImg} />
  <Image source={require('../../img/3.jpg')} style={styles.bannerImg} />
</Swiper>

样式:

const styles = StyleSheet.create({
 container: {
  flex: 1,
  alignItems: 'center',
  backgroundColor: '#fff',
 },
 bannerImg: {
  height: width*40/75,
  width: width,
 },
 wrapper: {
  width: width,
 },
 paginationStyle: {
  bottom: 6,
 },
 dotStyle: {
  width: 22,
  height: 3,
  backgroundColor:'#fff',
  opacity: 0.4,
  borderRadius: 0,
 },
 activeDotStyle: {
  width: 22,
  height: 3,
  backgroundColor:'#fff',
  borderRadius: 0,
 },
});

三、解决不显示问题

轮播图放在APP的首页,同样有不显示的问题,解决办法和上一篇的办法几乎一样,可以看一下上一篇或是完整代码,这里就不再赘述。

这里和上一篇相比有两处不一样,需要说一下。

1、真正调用接口加载图片的时候,不会出现一开始图片不显示的问题。

2、在状态为false的时候,先显示第一张图片

if (this.state.swiperShow) {
 return (
  <Swiper >
   …………略
  </Swiper>
 )
} else {
 return (
  <View style={{ height: width*40/75 }}>
   <Image source={require('../../img/1.jpg')} style={styles.bannerImg} />
  </View>
 );
}

recommend.js完整代码 地址

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
封装了一个js图片轮换效果的函数
Sep 28 Javascript
一个不错的js html页面倒计时可精确到秒
Oct 22 Javascript
浅谈javascript的call()、apply()、bind()的用法
Feb 21 Javascript
JavaScript如何实现组合列表框中元素移动效果
Mar 01 Javascript
JavaScript实现相册弹窗功能(zepto.js)
Jun 21 Javascript
JavaScript数据类型转换的注意事项
Jul 31 Javascript
Angular 页面跳转时传参问题
Aug 01 Javascript
jQuery中的on与bind绑定事件区别实例详解
Feb 28 Javascript
JavaScript Date对象应用实例分享
Oct 30 Javascript
全面了解JavaScript的作用域链
Apr 03 Javascript
ES6中的迭代器、Generator函数及Generator函数的异步操作方法
May 12 Javascript
Nuxt配置Element-UI按需引入的操作方法
Jul 06 Javascript
详解webpack打包后如何调试的方法步骤
Nov 07 #Javascript
微信小程序列表中item左滑删除功能
Nov 07 #Javascript
Angular 实现输入框中显示文章标签的实例代码
Nov 07 #Javascript
VueCli3构建TS项目的方法步骤
Nov 07 #Javascript
vue调试工具vue-devtools安装及使用方法
Nov 07 #Javascript
vue+webpack中配置ESLint
Nov 07 #Javascript
利用jqgrid实现上移下移单元格功能
Nov 07 #Javascript
You might like
php 字符串中是否包含指定字符串的多种方法
2018/04/12 PHP
Javascript 面向对象 对象(Object)
2010/05/13 Javascript
flexigrid 类似ext grid的JS表格代码
2010/07/17 Javascript
解析offsetHeight,clientHeight,scrollHeight之间的区别
2013/11/20 Javascript
jquery动态添加删除一行数据示例
2014/06/12 Javascript
node.js中的fs.writeFile方法使用说明
2014/12/14 Javascript
Javascript添加监听与删除监听用法详解
2014/12/19 Javascript
JavaScript将字符串转换为整数的方法
2015/04/14 Javascript
JS面向对象编程详解
2016/03/06 Javascript
深入浅析JSON.parse()、JSON.stringify()和eval()的作用详解
2016/04/03 Javascript
基于Vuejs框架实现翻页组件
2020/06/29 Javascript
xmlplus组件设计系列之树(Tree)(9)
2017/05/02 Javascript
将angular-ui的分页组件封装成指令的方法详解
2017/05/10 Javascript
深入理解JavaScript继承的多种方式和优缺点
2017/05/12 Javascript
安装vue-cli报错 -4058 的解决方法
2017/10/19 Javascript
Vue Promise的axios请求封装详解
2018/08/13 Javascript
vue实现节点增删改功能
2019/09/26 Javascript
解决微信小程序scroll-view组件无横向滚动的问题
2020/02/04 Javascript
[01:10:58]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
Python多进程并发(multiprocessing)用法实例详解
2015/06/02 Python
python 队列详解及实例代码
2016/10/18 Python
python生成ppt的方法
2018/06/07 Python
用Python PIL实现几个简单的图片特效
2019/01/18 Python
在Python中append以及extend返回None的例子
2019/07/20 Python
详解numpy.meshgrid()方法使用
2019/08/01 Python
在Python中利用pickle保存变量的实例
2019/12/30 Python
Python如何读写二进制数组数据
2020/08/01 Python
css3中transition属性详解
2014/09/02 HTML / CSS
HTML5 video 上传预览图片视频如何设置、预览视频某秒的海报帧
2018/08/28 HTML / CSS
加利福尼亚州威尼斯的女性奢侈品设计师服装和概念店:Mona Moore
2018/09/13 全球购物
将一个文本文件的内容按倒序打印出来
2015/01/05 面试题
党校学习思想汇报
2014/01/06 职场文书
高校十八大报告感想
2014/01/27 职场文书
网络书店创业计划书
2014/02/07 职场文书
员工给公司的建议书
2019/06/24 职场文书
Python实现的扫码工具居然这么好用!
2021/06/07 Python