我正在尝试创建一个短语,它具有不同的字体大小,全部对齐在底部,因此,我执行了以下操作:

<View style={styles.header}>
  <TextCustomized style={styles.balance} text="você tem" />
  <TextCustomized style={styles.number} text=" R$" />
  <TextCustomized style={styles.integer} text="100" />
  <TextCustomized style={styles.number} text=",00" />
  <TextCustomized style={styles.balance} text=" de saldo" />
</View>

const styles = StyleSheet.create({
  header: {
   flexDirection: 'row',
   alignItems: 'baseline',
   justifyContent: 'center',
   paddingTop: 10,
   borderBottomWidth: 1,
   borderBottomColor: '#e1e1e1',
   paddingBottom: 10,
 },
 balance: {
   fontSize: 14
 },
 number: {
  fontSize: 18,
  color: '#0778e4',
  fontWeight: 'bold',
 },
 integer: {
   fontSize: 30,
   color: '#0778e4',
   fontWeight: "800",
   lineHeight: 30,
 },
})

它在 iOS 上运行良好,但在 Android 上却无法正常运行,正如您在此 PS 上看到的那样。

react-native - alignItems : baseline not working on Android-LMLPHP

我怎样才能实现它?

最佳答案

作为解决方法,您可以将想要对齐基线的文本包装到 Text 元素中。此时父级中的 alignItems: baseline 将是不必要的。这样的事情应该工作:

<View style={styles.header}>
  <Text>
    <TextCustomized style={styles.balance} text="você tem" />
    <TextCustomized style={styles.number} text=" R$" />
    <TextCustomized style={styles.integer} text="100" />
    <TextCustomized style={styles.number} text=",00" />
    <TextCustomized style={styles.balance} text=" de saldo" />
  </Text>
</View>

const styles = StyleSheet.create({
  header: {
   flexDirection: 'row',
   justifyContent: 'center',
   paddingTop: 10,
   borderBottomWidth: 1,
   borderBottomColor: '#e1e1e1',
   paddingBottom: 10,
 },
 balance: {
   fontSize: 14
 },
 number: {
  fontSize: 18,
  color: '#0778e4',
  fontWeight: 'bold',
 },
 integer: {
   fontSize: 30,
   color: '#0778e4',
   fontWeight: "800",
   lineHeight: 30,
 }
});

react-native - alignItems : baseline not working on Android-LMLPHP

关于react-native - alignItems : baseline not working on Android,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51293914/

10-11 07:33