React Native flex-box对齐图标和文本

时间:2016-04-03 21:28:47

标签: icons react-native flexbox

react native应用中,我使用'react-native-vector-icons/MaterialIcons'

我尝试使用带有文字的<按钮。遗憾的是,<图标未与文本对齐。文本与<在同一行,但是底部对齐而不是中间对齐。

我没有flex: 1。代码已更新。

我的代码

    <TouchableOpacity style={styles.navBarLeftButton}>
       <Icon name="chevron-left" />
       <Text style={styles.buttonText}>My Button</Text>
    </TouchableOpacity>

我的风格

    navBarLeftButton: {
      flex: 1,
      flexDirection: 'row',
      alignItems: 'center',
      justifyContent: 'flex-start'
      width: 100,
      paddingLeft: 8
    }

    buttonText: {
      color: 'rgba(255,255,255,0.70)',
      fontSize: 14
    }

3 个答案:

答案 0 :(得分:14)

答案是flex: 1而非height。我也使用flexDirection: 'row',因为我有两个元素。

navBarLeftButton: {
  paddingLeft: 8,
  width: 100,
  flex: 1,
  flexDirection: 'row',
  alignItems: 'center',
  justifyContent: 'flex-start'
}

答案 1 :(得分:2)

您还可以在<Icon>内使用Text。在这种情况下,它将遵循Text的样式。

<TouchableOpacity style={styles.navBarLeftButton}>
   <Text style={styles.buttonText}>
        <Icon name="chevron-left" />
        My Button
   </Text>
</TouchableOpacity>

答案 2 :(得分:-1)

在名称前

使用有效关键字,并从本地数据库导入图标。