基于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 读取xml,写入xml 实现代码
Jul 10 Javascript
JQuery+JS实现仿百度搜索结果中关键字变色效果
Aug 02 Javascript
JQuery以JSON方式提交数据到服务端示例代码
May 05 Javascript
javascript实现回车键提交表单方法总结
Jan 10 Javascript
js实现打地鼠小游戏
Feb 13 Javascript
jQuery中Chosen三级联动功能实例代码
Mar 07 Javascript
Angularjs 实现移动端在线测评效果(推荐)
Apr 05 Javascript
vue之数据交互实例代码
Jun 16 Javascript
JavaScript中常见的八个陷阱总结
Jun 28 Javascript
webpack4.x开发环境配置详解
Aug 04 Javascript
小程序自定义单页面、全局导航栏的实现代码
Mar 15 Javascript
vue 解决无法对未定义的值,空值或基元值设置反应属性报错问题
Jul 31 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 in_array 函数使用说明与in_array需要注意的地方说明
2010/04/13 PHP
php对mongodb的扩展(初出茅庐)
2012/11/11 PHP
PHP框架性能测试报告
2016/05/08 PHP
CodeIgniter连贯操作的底层原理分析
2016/05/17 PHP
PHP使用ajax的post方式下载excel文件简单示例
2019/08/06 PHP
newxtree.js代码
2007/03/13 Javascript
JQuery 入门实例1
2009/06/25 Javascript
Javascript 日期处理之时区问题
2009/10/08 Javascript
Jquery截取中文字符串的实现代码
2010/12/22 Javascript
js实现网页抽奖实例
2015/08/05 Javascript
Node.js开发者必须了解的4个JS要点
2016/02/21 Javascript
页面点击小红心js实现代码
2018/05/26 Javascript
解决vue 绑定对象内点击事件失效问题
2018/09/05 Javascript
Vue项目结合Vue-layer实现弹框式编辑功能(实例代码)
2020/03/11 Javascript
Python下使用Psyco模块优化运行速度
2015/04/05 Python
python调用Matplotlib绘制分布点并且添加标签
2018/05/31 Python
python中利用h5py模块读取h5文件中的主键方法
2018/06/05 Python
浅谈Python爬虫基本套路
2019/03/25 Python
python如何求数组连续最大和的示例代码
2020/02/04 Python
Python文字截图识别OCR工具实例解析
2020/03/05 Python
python输出结果刷新及进度条的实现操作
2020/07/13 Python
英国第二大营养品供应商:Vitabiotics
2016/10/01 全球购物
韩国爱茉莉太平洋化妆品美国站:Amore Pacific US
2016/10/28 全球购物
了解AppleTalk协议吗
2014/04/01 面试题
小学教师国培感言
2014/02/08 职场文书
总经理岗位职责描述
2014/02/08 职场文书
远程网络教育毕业生自我鉴定
2014/04/14 职场文书
音乐学专业求职信
2014/07/22 职场文书
竞聘自述材料
2014/08/25 职场文书
学生自我鉴定格式及范文
2014/09/16 职场文书
幼儿园小班教师个人工作总结
2015/02/06 职场文书
2015年敬老月活动总结
2015/03/27 职场文书
烈士陵园扫墓感想
2015/08/07 职场文书
MySQL系列之十二 备份与恢复
2021/07/02 MySQL
公历12个月名称的由来
2022/04/12 杂记
Python使用plt.boxplot()函数绘制箱图、常用方法以及含义详解
2022/08/14 Python