我正在尝试在屏幕上垂直和水平居中放置文本。这是我的代码

export default class App extends Component {
  render() {
    return (
      <View style={styles.container}>
        <View style={styles.header}>
         <Text> Header </Text>
         </View>
         <Text style={styles.text}> some text in the middle center of the screen </Text>
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
        backgroundColor:'white',
        alignItems:'center',
        justifyContent:'center'
    },
     header: {
        backgroundColor: 'green',
        alignSelf: 'stretch',
        alignItems: 'center',
        heigth: 80 // this dose not change the header height
    },
  text:{
      //flex: 1,
      justifyContent:'center',
  }
});


如果将flex:1添加到文本,则标题也将居中放置,这是不期望的。我不知道是否相关,但我也无法修改标题视图的高度。我该如何解决?问题可以在此snack上重现。



<div data-snack-id="S1urACbJM" data-snack-platform="ios" data-snack-preview="true" data-snack-theme="light" style="overflow:hidden;background:#fafafa;border:1px solid rgba(0,0,0,.16);border-radius:4px;height:505px;width:100%"></div>
<script async src="https://snack.expo.io/embed.js"></script>

最佳答案

这是在屏幕上居中放置文本的一种方法:

<View style={{
    flex: 1,
    alignItems: 'center',
    justifyContent: 'center',
    backgroundColor: 'blue'
}}>
    <Text style={{backgroundColor: 'red'}}>
        Your Text
    </Text>
</View>


您还可以尝试以下位置:“绝对”:

<View style={{
    backgroundColor: 'blue',
    position: 'absolute',
    top: 0, left: 0,
    right: 0, bottom: 0,
    justifyContent: 'center',
    alignItems: 'center'}}>
<Text style={{backgroundColor: 'red'}}> Your Text </Text>
</View>


reactjs - 使用react native在屏幕上居中放置文本-LMLPHP

关于reactjs - 使用react native在屏幕上居中放置文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47203728/

10-11 08:25