您的位置:首页 > Web前端 > React

React Native 小实例 采用View布局如下视图

2016-10-09 17:55 381 查看

React Native 小实例 采用View布局如下视图



实例步骤

1.加载View组件

import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View
} from 'react-native';
import中添加View组件

2.创建组件

class FirstRN extends Component { //继承方式
render() { //渲染
return (
<View style={styles.container}>
</View>
);
}
}

3.添加样式表

const styles = StyleSheet.create({
container: {
flex: 1,
borderWidth:1,
borderColor:'red',
flexDirection:'row',
//backgroundColor: '#0f0',
},
item: {
flex: 1,
height:80,
borderWidth:1,
borderColor:'blue',
},
});

4.注册入口

AppRegistry.registerComponent('FirstRN', () => FirstRN);

5.外层布局

<View style={styles.container}>
</View>

6. flex box水平三栏布局

外联样式: style={styles.container}
内联样式: style={{flex:1,borderWidth:1}}
多个样式: style={[styles.container,{flex:1,borderWidth:1}]}

7.完善效果及整体代码

import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
PixelRatio,
Text,
View
} from 'react-native';

class FirstRN extends Component {
render() {
return (
<View style={styles.flex}>
<View style={styles.container}>
<View style={[styles.item,styles.center]}>
<Text style={styles.font}>酒店</Text>
</View>
<View style={[styles.item, styles.lineLeftRight]}>
<View style={[styles.flex, styles.center, styles.lineCenter]}>
<Text style={styles.font}>海外酒店</Text>
</View>
<View style={[styles.flex, styles.center]}>
<Text style={styles.font}>特惠酒店</Text>
</View>
</View>
<View style={[styles.item, styles.lineLeftRight]}>
<View style={[styles.flex, styles.center,styles.lineCenter]}>
<Text style={styles.font}>团购</Text>
</View>
<View style={[styles.flex, styles.center]}>
<Text style={styles.font}>客栈,公寓</Text>
</View>
</View>
</View>
</View>
);
}
}

const styles = StyleSheet.create({
container: {
marginTop: 200,
marginLeft: 5,
marginRight: 5,
height: 85,
flexDirection: 'row',
borderRadius: 5,
padding: 2,
backgroundColor: '#FF0067',
},
item: {
flex: 1,
height: 80,
},
center: {
justifyContent: 'center',
alignItems: 'center'
},
flex: {
flex: 1,
},
font: {
color: '#fff',
fontSize: 16,
fontWeight: 'bold',
},
lineLeftRight: {
borderLeftWidth: 1/PixelRatio.get(),
borderRightWidth: 1/PixelRatio.get(),//自带函数
borderColor: '#fff',
},
lineCenter: {
borderBottomWidth: 1/PixelRatio.get(),
borderColor: '#fff',
},
});

AppRegistry.registerComponent('FirstRN', () => FirstRN);

最终结果如下

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  RN