基于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 相关文章推荐
实现复选框全选/全不选切换
Dec 23 Javascript
div+css布局的图片连续滚动js实现代码
May 04 Javascript
hover的用法及live的用法介绍(鼠标悬停效果)
Mar 29 Javascript
JS、jquery实现几分钟前、几小时前、几天前等时间差显示效果的代码实例分享
Apr 11 Javascript
javascript正则表达式定义(语法)总结
Jan 08 Javascript
省市二级联动小案例讲解
Jul 24 Javascript
Javascript 事件冒泡机制详细介绍
Oct 10 Javascript
微信小程序使用video组件播放视频功能示例【附源码下载】
Dec 08 Javascript
react-native 圆弧拖动进度条实现的示例代码
Apr 12 Javascript
js input输入百分号保存数据库失败的解决方法
May 26 Javascript
深入理解vue-class-component源码阅读
Feb 18 Javascript
Vue使用Proxy监听所有接口状态的方法实现
Jun 07 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中实现简单的ACL 完结篇
2011/09/07 PHP
深入php处理整数函数的详解
2013/06/09 PHP
php+xml编程之SimpleXML的应用实例
2015/01/24 PHP
php使用timthumb生成缩略图的方法
2016/01/22 PHP
PHP 获取 ping 时间的实现方法
2017/09/29 PHP
浅谈laravel aliases别名的原理
2019/10/24 PHP
PHP随机生成中文段落示例【测试网站内容时使用】
2020/04/26 PHP
Javascript Global对象
2009/08/13 Javascript
JavaScript高级程序设计(第3版)学习笔记7 js函数(上)
2012/10/11 Javascript
jsp网页搜索结果中实现选中一行使其高亮
2014/02/17 Javascript
关于JavaScript中name的意义冲突示例介绍
2014/05/29 Javascript
一个仿糯米弹框效果demo
2014/07/22 Javascript
jQuery中的jQuery()方法用法分析
2014/12/27 Javascript
jQuery使用drag效果实现自由拖拽div
2015/06/11 Javascript
Javascript闭包实例详解
2015/11/29 Javascript
JS实现合并两个数组并去除重复项只留一个的方法
2015/12/17 Javascript
Node.js 中exports 和 module.exports 的区别
2017/03/14 Javascript
AngularJS实现tab选项卡的方法详解
2017/07/05 Javascript
JavaScript实现简单的双色球(实例讲解)
2017/07/31 Javascript
用React-Native+Mobx做一个迷你水果商城APP(附源码)
2017/12/25 Javascript
JS前端知识点总结之内置对象,日期对象和定时器相关操作
2019/07/05 Javascript
原生javascript如何实现共享onload事件
2020/07/03 Javascript
[56:01]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 Effect vs EG
2018/03/31 DOTA
Python multiprocessing.Manager介绍和实例(进程间共享数据)
2014/11/21 Python
基于Django模板中的数字自增(详解)
2017/09/05 Python
Python实现的朴素贝叶斯算法经典示例【测试可用】
2018/06/13 Python
python 删除字符串中连续多个空格并保留一个的方法
2018/12/22 Python
利用纯html5绘制出来的一款非常漂亮的时钟
2015/01/04 HTML / CSS
canvas探照灯效果的示例代码
2018/11/30 HTML / CSS
英国排名第一的礼品体验公司:Red Letter Days
2018/08/16 全球购物
政法大学毕业生自荐信范文
2014/01/01 职场文书
房屋公证委托书
2014/04/03 职场文书
团日活动总结
2014/04/28 职场文书
个人租房协议书(范本)
2014/10/14 职场文书
Redis实现订单自动过期功能的示例代码
2021/05/08 Redis
如何使用Python提取Chrome浏览器保存的密码
2021/06/09 Python