react-native学习之路4-设置类似于安卓里面的GridView的布局
来源:互联网 发布:java聊天室项目 编辑:程序博客网 时间:2024/06/09 18:11
代码如下;
/** * Sample React Native App * https://github.com/facebook/react-native * @flow */import React, { Component } from 'react';import { AppRegistry, StyleSheet, Text, View, Image,} from 'react-native';//导入json数据 var badgeData = require('./BadgeData.json');var Dimensions=require('Dimensions');var {width}=Dimensions.get('window');//定义一些全局变量var cols=3;var boxW=100;var vMargin=(width-cols*100)/(cols+1); // 边距数目 设置左右边距var hMargin=25; //上下边距export default class ImageComponent extends Component { render() { return ( <View style={styles.container}> {/* 返回6张图片的json数据 this表示当前的组件*/} {this.renderAllBadge()} </View> ); } //返回所有的包 renderAllBadge() { //定义一个数组用来装所有的图片数组 var allBadge = []; var dataArr = badgeData.data; //for循环 for (var i = 0; i < dataArr.length; i++) { //得到单个json对象 var badge = dataArr[i]; //添加到数组箱子里面 allBadge.push( <View style={styles.outViewStyle}> <Image key={i} source={{uri:badge.icon}} style={styles.imageStyle}> </Image> <Text style={styles.textContentStyle}> {badge.title} </Text> </View> ); } return allBadge; }}//style样式设置const styles = StyleSheet.create({ container: { flex: 1, backgroundColor: '#F5FCFF', //确定主轴的方向 flexDirection:'row', //换行显示 flexWrap:'wrap', }, //设置外部的style outViewStyle:{ backgroundColor:'white', width:boxW, height:boxW, marginLeft:vMargin, //设置左边距 marginTop:hMargin, //设置上边距 }, //设置图片样式 imageStyle:{ width:80, height:80, }, textContentStyle:{ textAlign:'center', }});//注册组件AppRegistry.registerComponent('RnFirstApp', () => RnFirstApp);
运行效果如下:
BadgeData.json文件json数据格式如下:
{"data":[{"icon" : "https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3935885658,3389722307&fm=27&gp=0.jpg","title" : "单肩包"},{"icon" : "https://ss0.bdstatic.com/6ONWsjip0QIZ8tyhnq/it/u=4035832409,561546226&fm=77&src=1009","title" : "链条包"},{"icon" : "https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=66544896,1609626762&fm=27&gp=0.jpg","title" : "钱包"},{"icon" : "https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1300406055,3322031203&fm=27&gp=0.jpg","title" : "手提包"},{"icon" : "https://ss3.baidu.com/-rVXeDTa2gU2pMbgoY3K/it/u=3589336874,4128426642&fm=202&gp=0.jpg&w_h=121_75&cs=3589336874,4128426642&ow_h=121_75&src=1010&mola=new&crop=v1","title" : "双肩包"},{"icon" : "https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=1603855652,2015126712&fm=27&gp=0.jpg","title" : "斜挎包"}]}
阅读全文
0 0
- react-native学习之路4-设置类似于安卓里面的GridView的布局
- React Native之调用安卓的原生控件recyclerview
- React-native 安卓模拟器的刷新
- react-native的flex布局
- 【React Native 安卓开发】----第三方框架的引用之React-native-Swiper框架实现欢迎页【第五篇】
- React-Native 学习之 Flex布局
- React Native 学习笔记之--布局
- React-Native 学习之 Flex布局
- React Native 学习笔记七(关于布局的使用)
- React Native之FlexBox布局上的一些心得
- React Native学习安卓手机上的返回键BackAndroid
- React Native学习安卓手机上的返回键BackAndroid
- React Native学习安卓手机上的返回键BackAndroid
- react-native入门之ListView-安卓开发者的第一视角
- React Native 学习之路
- react-native中运用阿里的字体Iconfont(安卓)
- react native 安卓Back键的处理
- 【React Native 安卓开发】----(Flexbox布局)【第二篇】
- 缩写总结
- 1036跟着奥巴马一起学编程(逻辑题)
- link exe error
- 成员函数的重载、覆盖、隐藏 和 虚函数
- 10. Regular Expression Matching
- react-native学习之路4-设置类似于安卓里面的GridView的布局
- python之闭包
- Hibernate搭建开发环境+简单实例(二)
- c++ 合并两个无序的单链表使其仍为无序
- 笔记
- 文章标题
- Python 函数修饰符(装饰器)的学习
- c++二分查找实现(非递归和递归方式)
- pcl点云处理基本步骤