如何在 React Native 中将一个文本浮动到另一个文本之上

How to float a text over another text in React Native

这是我试图实现的示例,下面是组件结构的分解

这就是目前的代码:

             <View style={styles.buttonHolder}>
                <Text style={styles.greenButtonIcon}>
                    FB
                </Text>
                <Text style={styles.greenButtonText}>
                    {this.props.buttonName}
                </Text>
            </View>

我的问题是文本与整个框居中对齐,我不能为文本和图标设置 flex 值,因为这会使它们有自己的 space 并且不会浮动。

你能帮忙吗?如果您需要更多信息,请告诉我。

尝试将它们放在 buttonHolder 中的绝对视图中。将 buttonHolder 设置为 justifyContentalignItems 居中。然后将绿色按钮alignSelf设为flex-start:

<View style={styles.buttonHolder}>
    <View style={styles.absolute}>
        <Text style={styles.greenButtonIcon}>
            FB
        </Text>
    </View>
    <View style={styles.absolute}>
        <Text style={styles.greenButtonText}>
            {this.props.buttonName}
        </Text>
    </View>
</View>

const styles = StyleSheet.create({
    absolute: {
        position: 'absolute',
        height: '100%',
        width: '100%',
        alignContent: 'center',
        justifyContent: 'center'
    },
    styles.greenButtonIcon: {
        alignSelf: 'flex-start'
    }
})

React native 支持使用 zIndex,类似于 CSS 为您想要浮动的项目分配更高的 zIndex,为另一个项目分配更低的 zIndex。