【发布时间】:2016-09-30 23:37:20
【问题描述】:
如何在 ReactNative 中将文本在水平和垂直方向居中?
我在 rnplay.org 中有一个示例应用程序,其中 justifyContent="center" 和 alignItems="center" 不起作用: https://rnplay.org/apps/AoxNKQ
文本应该居中。 为什么文本(黄色)和父容器之间的顶部有一个边距?
代码:
'use strict';
var React = require('react-native');
var {
AppRegistry,
StyleSheet,
Text,
Image,
View,
} = React;
var SampleApp = React.createClass({
render: function() {
return (
<View style={styles.container}>
<View style={styles.topBox}>
<Text style={styles.headline}>lorem ipsum{'\n'}ipsum lorem lorem</Text>
</View>
<View style={styles.otherContainer}>
</View>
</View>
);
}
});
var styles = StyleSheet.create({
container: {
flex: 1,
flexDirection: 'column',
backgroundColor: 'red',
justifyContent: 'center',
alignItems: 'center',
},
topBox: {
flex: 1,
flexDirection: 'row',
backgroundColor: 'lightgray',
justifyContent: 'center',
alignItems: 'center',
},
headline: {
fontWeight: 'bold',
fontSize: 18,
marginTop: 0,
width: 200,
height: 80,
backgroundColor: 'yellow',
justifyContent: 'center',
alignItems: 'center',
},
otherContainer: {
flex: 4,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: 'green',
},
});
AppRegistry.registerComponent('SampleApp', () => SampleApp);
module.exports = SampleApp;
【问题讨论】:
-
像这样:rnplay.org/apps/1hbnSA ?
-
这不是水平居中的
-
好的,所以这个:rnplay.org/apps/1hbnSA,已更新
-
WAAAA... textAlign ?我知道这会很愚蠢....您应该将其发布为答案
标签: reactjs flexbox react-native