
当你在android和iOS项目中增加图片后,仅仅reload, 图片是无法显示的,你必须要重新安装这个软件

九宫格效果图
import React, { Component } from "react";
import { AppRegistry, StyleSheet, Text, View, Image } from "react-native";
/*设置一些全局变量*/
//获取设备的宽
var dimensions = require("Dimensions");
var width = dimensions.get("window").width;
//设置每行3列
var cols = 3;
//每个小View的宽
var boxW = 100;
//计算每个View的间距
var vMargin = (width - cols * boxW) / (cols + 1);
/*引入json数据
A: 这里将json文件给引入了,我怎么去看变量badgeData里面的内容到底是什么呢?
Q: 1. 直接console.log()
2. andorid手机摇一摇手机,点击Debug JS Remotely,此时会在PC端自动给给打开一个网站(http://localhost:8081/debugger-ui),
点开控制台即可看到你输出的内容,在这里会将json文件的内容转化成对象输出到控制台 */
var badgeDate = require("./BadgeData.json");
console.log(badgeDate);
/*函数renderAllBadge返回一个数组,该数组里放着每一个小View
* 提醒:
* 1. 目前我们是在组件对象MyRn中的render()函数里,renderAllBadge是组件对象MyRn里面的一个函数
* 2. this指代的就是当前组件对象,这里跟js里面函数的用法一致 */
var MyRn = React.createClass({
render() {
return (
//这个View是全屏的View,具体样式看container
<View style={styles.container}>{this.rederAllBadge()}</View>
);
},
rederAllBadge() {
//这个数组里存放我们准备好的每个小View,最终要作为这个函数的返回值返回
var allData = [];
//通过for循环来取出来每个小View的数据
for (var i = 0; i < badgeDate.data.length; i++) {
var badge = badgeDate.data[i];
//每次循环以后,将准备好的View放到数组allData中
allData.push(
//通过key来标识每一个小View
<View key={i} style={styles.outViewStyle}>
<Image source={{ uri: badge.icon }} style={styles.imageStyle} />
<Text style={styles.textStyle}>{badge.title}</Text>
</View>
);
}
//将allData作为返回值返回
return allData;
},
});
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: "white",
flexDirection: "row",
flexWrap: "wrap",
},
outViewStyle: {
backgroundColor: "gray",
alignItems: "center",
width: boxW,
height: boxW,
marginLeft: vMargin,
marginTop: vMargin,
},
imageStyle: { width: 80, height: 80 },
textStyle: { fontSize: 15 },
});
import { AppRegistry } from "react-native";
//导出自定义的组件
module.exports = MyRn;
index.android.js;
//导入其他文件中的组件
var MyView = require("./index.main.js");
AppRegistry.registerComponent("myRn", () => MyView);
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。