反应本机。如何将两个具有不同字体大小的文本放置在垂直对齐中心的行中

React Native. How to place two Text with different fontSize in row with vertical align center

我需要将两个具有不同 fontSizeText 组件排成一行并垂直居中。我现在有关注 https://snack.expo.io/@troublediehard/dmVuZ2

export default class App extends React.Component {
  render() {
    return (
      <View style={styles.container}>
        <View style={styles.row}>
          <Text style={styles.text1}>Font size 20</Text>
          <Text style={styles.text2}>Font size 14</Text>
        </View>
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    paddingTop: Constants.statusBarHeight,
    backgroundColor: '#ecf0f1',
    padding: 8,
  },
  row: {
    flexDirection: 'row',
    backgroundColor: 'red',
  },
  text1: {
    fontSize: 20,
    backgroundColor: 'blue',
  },
  text2: {
    fontSize: 14,
    backgroundColor: 'green',
  },
});

您需要将 alignItems: 'center' 添加到 styles.row

row: {
    flexDirection: 'row',
    alignItems: 'center',
    backgroundColor: 'red',
},

对于尚未找到解决方案的任何人,您必须将文本包装在另一个文本标记中:

<View style={styles.container}>
  <View style={styles.row}>
    <Text>
      <Text style={styles.text1}>Font size 20</Text>
      <Text style={styles.text2}>Font size 14</Text>
    </Text>
  </View>
</View>