react-native九宫格布局

效果图如下


34018D92-5CA9-4CEB-8526-AA9729905D46.png

附上代码 :https://github.com/wanwang88/ReactNativeFlexBoxImageDemo

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*boxW)/(cols+1);
var hMargin = 25;
class AImageDemo extends Component {
  render() {
    return (
      <View style={styles.container}>
        {/*返回六个包*/}
        {this.renderAllBadge()}
      </View>
    );
  }

  //返回所有的包

  renderAllBadge(){
      //定义数组所有的子组件
    var allBadge = [];
    //遍历json数据
    for(var i=0 ;i<BadgeData.data.length;i++){
      var model = BadgeData.data[i];
      //直接装入数组
      allBadge.push(
        <View key={i} style={styles.autoViewStyle}>
          <Image style={styles.imagesStyle} source={{uri:model.icon}}/>
          <Text style={styles.textsStyle}>{model.title}</Text>
        </View>
      );
    }
    //返回
    return allBadge;
  }
}

const styles = StyleSheet.create({
  container: {
    //横向
    flexDirection:'row',
    //换行显示
    flexWrap:'wrap'

  },

  autoViewStyle:{
    backgroundColor:'gray',
    //设置侧抽对齐
    alignItems:'center',
    width:boxW,
    height:boxW,
    marginLeft:vMargin,
    marginTop:hMargin
  },

  imagesStyle:{
    width:80,
    height:80

  },
  textsStyle:{


  }
});
AppRegistry.registerComponent('AImageDemo', () => AImageDemo);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,727评论 2 45
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,856评论 25 709
  • 本文来自 Crocutax 的博客 , 转载请注明出处 http://www.crocutax.com 最早开始使...
    Crocutax阅读 7,194评论 0 1
  • 掘港附近有没有语文辅导班 在学习语文的过程中,一个人的完整的特质也在逐渐形成。语文将会严重影响你个人的未来发展。 ...
    hyhyhyaaaa阅读 1,183评论 0 0
  • 河北一星.中国——河北简称“冀”史话讲大禹治水英雄“禹”也是我国第一个朝代“夏”的开国君王,又称“夏禹”。大禹时代...
    鑫波阅读 1,638评论 0 0