React Native Text组件不会在View组件中居中

时间:2015-11-02 17:41:25

标签: ios text view center react-native

嗨,我认为这应该很简单,但我无法让它发挥作用。似乎无论我做什么,我都无法让文本组件在视图内水平居中。我尝试过使用alignItems:center,justifyContent:center,alignSelf:center,textAlign:center ...没有用。我可以让它垂直居中,但不能水平居中。 Whyyyyy亲爱的领主?

<Animated.View style={[styles.titleContainer]}>
    <Text style={styles.title}>App logo here</Text>
</Animated.View>

如何让文本垂直和水平居中?

这是我的CSS:

titleContainer: {
    flex: 1,
    marginTop:30,
    marginBottom:30,
    justifyContent:'center'
},
title:{
    color:'white',
    textAlign:'center',
    alignSelf:'center'
},

这是我的结果:

enter image description here

6 个答案:

答案 0 :(得分:5)

试试这个...... 这是working demo

  container: {
    flex: 1,
    marginTop: 30,
    marginBottom: 30,
    justifyContent: 'center',
    backgroundColor: '#fff',
  },
  title: {
    fontSize: 28,
    textAlign: 'center',
  },

答案 1 :(得分:1)

对于那些寻找最简单案例的最小版本的人:

<View style={styles.containerView}>
  <Text style={styles.text}>I'm centered</Text>
</View>

const styles = StyleSheet.create({
  containerView: {
    justifyContent: 'center'
  }
  centeredText: {
    alignSelf: 'center'
  }
})

答案 2 :(得分:1)

justifyContent: 'center' 添加到容器视图。 React Native 的工作方式与 react 不同。 所以 alignItems 不起作用,而是 justifyContent 起作用。

答案 3 :(得分:1)

使用 textAlign: 'center' 属性使文本居中

使用 alignSelf:'center' 属性将视图居中

<View style={{alignSelf:'center'}}>

      <Text style={{textAlign:'center'}}>I'm centered</Text>

</View>

答案 4 :(得分:1)

在主视图样式 flex:1 和文本集 textAlign:'center' 中设置

答案 5 :(得分:0)

添加flexDirection:'column'有助于逐项集中对齐项目:

titleContainer: {
    flex: 1,
    marginTop:30,
    marginBottom:30,
    justifyContent:'center',
},
title:{
    color:'white',
    textAlign:'center',
    alignSelf:'center',
    flexDirection: 'column'
},