问题描述
如何在 ReactNative 中水平和垂直居中文本?
How to center Text in ReactNative both in horizontal and vertical?
我在 rnplay.org 中有一个示例应用程序,其中 justifyContent="center" 和 alignItems="center" 不起作用:https://rnplay.org/apps/AoxNKQ
I have an example application in rnplay.org where justifyContent="center" and alignItems="center" is not working:https://rnplay.org/apps/AoxNKQ
文本应该居中.为什么文本(黄色)和父容器之间的顶部有一个边距?
The text should being centered.And why is there a margin at the top between the text (yellow) and parent container?
代码:
'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{'
'}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;
推荐答案
From headline
' style remove height
, justifyContent
and alignItems
.它将垂直居中文本.添加 textAlign: 'center'
它将使文本水平居中.
From headline
' style remove height
, justifyContent
and alignItems
. It will center the text vertically. Add textAlign: 'center'
and it will center the text horizontally.
headline: {
textAlign: 'center', // <-- the magic
fontWeight: 'bold',
fontSize: 18,
marginTop: 0,
width: 200,
backgroundColor: 'yellow',
}
这篇关于ReactNative:如何使文本居中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!