基于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 相关文章推荐
拖动一个HTML元素
Dec 22 Javascript
深入理解JavaScript系列(7) S.O.L.I.D五大原则之开闭原则OCP
Jan 15 Javascript
jQuery显示和隐藏 常用的状态判断方法
Jan 29 Javascript
jQuery数据检索中根据关键字快速定位GridView指定行的实现方法
Jun 08 Javascript
了解VUE的render函数的使用
Jun 08 Javascript
Vue实现数字输入框中分割手机号码的示例
Oct 10 Javascript
jQuery图片查看插件Magnify开发详解
Dec 25 jQuery
Node.js使用cookie保持登录的方法
May 11 Javascript
vue 优化CDN加速的方法示例
Sep 19 Javascript
js获取对象,数组所有属性键值(key)和对应值(value)的方法示例
Jun 19 Javascript
layui对工具条进行选择性的显示方法
Sep 19 Javascript
js实现滑动进度条效果
Aug 21 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 chmod 函数与批量修改文件目录权限
2010/05/10 PHP
PHP网站备份程序代码分享
2011/06/10 PHP
ThinkPHP下表单令牌错误与解决方法分析
2017/05/20 PHP
JS+css 图片自动缩放自适应大小
2013/08/08 Javascript
JavaScrip实现PHP print_r的数功能(三种方法)
2013/11/12 Javascript
使用js显示当前时间示例
2014/03/02 Javascript
js中document.write使用过程中的一点疑问解答
2014/03/20 Javascript
JavaScript匿名函数与委托使用示例
2014/07/22 Javascript
jQuery团购倒计时特效实现方法
2015/05/07 Javascript
Node.js静态文件服务器改进版
2016/01/10 Javascript
JS Attribute属性操作详解
2016/05/19 Javascript
温习Javascript基础语法之词法结构
2016/05/31 Javascript
js实现微博发布小功能
2017/01/12 Javascript
JavaScript自定义分页样式
2017/01/17 Javascript
layui选项卡效果实现代码
2017/05/19 Javascript
vue的过滤器filter实例详解
2018/09/17 Javascript
vue组件讲解(is属性的用法)模板标签替换操作
2020/09/04 Javascript
[01:02:06]LGD vs Mineski Supermajor 胜者组 BO3 第二场 6.5
2018/06/06 DOTA
[59:42]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
解密Python中的描述符(descriptor)
2015/06/03 Python
Python模拟自动存取款机的查询、存取款、修改密码等操作
2018/09/02 Python
Python面向对象程序设计示例小结
2019/01/30 Python
详细介绍pandas的DataFrame的append方法使用
2019/07/31 Python
Python API自动化框架总结
2019/11/12 Python
python使用信号量动态更新配置文件的操作
2020/04/01 Python
Python如何向SQLServer存储二进制图片
2020/06/08 Python
css3背景_动力节点Java学院整理
2017/07/11 HTML / CSS
DataList 能否分页,请问如何实现?
2015/05/03 面试题
解释一下钝化(Swap out)
2016/12/26 面试题
中文系师范生自荐信
2013/10/01 职场文书
两则小学生的自我评价分享
2013/11/14 职场文书
目标责任书范本
2014/04/16 职场文书
社区关爱留守儿童活动方案
2014/08/22 职场文书
创先争优活动承诺书
2014/08/30 职场文书
医德医风自我评价
2014/09/19 职场文书
教你在 Java 中实现 Dijkstra 最短路算法的方法
2022/04/08 Java/Android