基于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 相关文章推荐
JavaScript 判断判断某个对象是Object还是一个Array
Jan 28 Javascript
javascript innerHTML使用分析
Dec 03 Javascript
使用Node.js实现一个简单的FastCGI服务器实例
Jun 09 Javascript
js鼠标点击图片切换效果实现代码
Nov 19 Javascript
JQuery 动态生成Table表格实例代码
Dec 02 Javascript
关于AngularJs数据的本地存储详解
Jan 20 Javascript
JavaScript设计模式之调停者模式实例详解
Feb 03 Javascript
详解使用jest对vue项目进行单元测试
Sep 07 Javascript
vue.js表单验证插件(vee-validate)的使用教程详解
May 23 Javascript
微信小程序 冒泡事件原理解析
Sep 27 Javascript
Vue路由对象属性 .meta $route.matched详解
Nov 04 Javascript
vue 输入电话号码自动按3-4-4分割功能的实现代码
Apr 30 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文件中bom的PHP代码
2012/03/13 PHP
php使用curl伪造来源ip和refer的方法示例
2018/05/08 PHP
laravel unique验证、确认密码confirmed验证以及密码修改验证的方法
2019/10/16 PHP
JavaScript(JS) 压缩 / 混淆 / 格式化 批处理工具
2010/12/10 Javascript
Javascript学习笔记二 之 变量
2010/12/15 Javascript
javascript 45种缓动效果 非常酷
2011/06/28 Javascript
js或者jquery判断图片是否加载完成实现代码
2013/03/20 Javascript
js控制文本框只输入数字和小数点的方法
2015/03/10 Javascript
JS实现自动切换文字的导航效果代码
2015/08/27 Javascript
基于jquery实现日历签到功能
2020/09/11 Javascript
基于JavaScript实现文字超出部分隐藏
2016/02/29 Javascript
jquery判断对象是否为空并遍历对象的简单实例
2016/07/26 Javascript
用NodeJS实现批量查询地理位置的经纬度接口
2016/08/16 NodeJs
Angularjs实现mvvm式的选项卡示例代码
2016/09/08 Javascript
脚本div实现拖放功能(两种)
2017/02/13 Javascript
如何编写一个完整的Angular4 FormText 组件
2017/11/18 Javascript
详解es6超好用的语法糖Decorator
2018/08/01 Javascript
10行代码实现微信小程序滑动tab切换
2018/12/28 Javascript
JS中实现一个下载进度条及播放进度条的代码
2019/06/10 Javascript
微信小程序登录对接Django后端实现JWT方式验证登录详解
2019/07/29 Javascript
nuxt框架中对vuex进行模块化设置的实现方法
2019/09/06 Javascript
python OpenCV学习笔记实现二维直方图
2018/02/08 Python
修改Pandas的行或列的名字(重命名)
2019/12/18 Python
python实现FTP循环上传文件
2020/03/20 Python
Python简单实现词云图代码及步骤解析
2020/06/04 Python
PyCharm 2020.2下配置Anaconda环境的方法步骤
2020/09/23 Python
Django和Ueditor自定义存储上传文件的文件名
2021/02/25 Python
大学生个人求职信范文
2013/09/21 职场文书
制药工程专业个人求职自荐信
2014/01/25 职场文书
小学生暑假感言
2014/02/06 职场文书
初中生毕业评语
2014/12/29 职场文书
2019新员工试用期转正申请书3篇
2019/08/13 职场文书
使用Html+Css实现简易导航栏功能(导航栏遇到鼠标切换背景颜色)
2021/04/07 HTML / CSS
SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7\Administrator 的信息
2021/06/30 SQL Server
html输入两个数实现加减乘除功能
2021/07/01 HTML / CSS
MySQL学习之基础命令实操总结
2022/03/19 MySQL