如何在 React Native 中实现 Font Awesome 堆栈图标功能

How to achieve Font Awesome stack icons feature in react native

使用 React native 实现 Stack/Overlap 个图标。

我正在尝试在 React Native 中实现这样的目标: https://fontawesome.com/how-to-use/on-the-web/styling/stacking-icons

如何实现?

输出:

在此示例中,我堆叠了 FontAwesome 图标 "square" 和 "home"。要堆叠它们,您需要一个带有 position: 'relative' 的父视图。然后你可以应用 position: 'absolute' 和一个 zIndex 到应该在另一个图标之上的图标。之后您可以使用 top/left 样式 属性 来定位图标。

代码:

  <View style={{position: 'relative'}}>
         <Icon name="square" size={24} color={"black"} />
         <Icon 
          name="home" 
          size={24} 
          color={"white"} 
          style={{position: 'absolute', zIndex: 99, left: 0, top: 0}} />  
  </View>

演示:

https://snack.expo.io/rkHnZJrrH

你可以这样实现。使用宽度和高度可帮助您将视图保持在原位并将所有内容对齐到中心,使其看起来像堆叠的图标一样漂亮。

<View style={{
        position:"relative",
        justifyContent:'center',
        alignItems:"center",
        width:40,
        height:40
      }}>
         <Icon name="circle" size={34} color={"black"} />
         <Icon name="flag" size={20} color={"white"} style={{position: 'absolute', zIndex: 99}} />  
      </View>

https://snack.expo.io/HkxWerHBr

能够通过反应本机元素实现这样的效果[不确定他们是否在内部使用 zIndex]

render() {
    return (
      <View style={styles.container}>
        <View
          style={{
            position: 'relative',
            height: 64,
            width: 64,
            justifyContent: 'center',
            alignItems: 'center',
          }}>
          <Icon type="font-awesome" name="square" size={64} />
          <Icon
            type="font-awesome"
            name="twitter"
            color="white"
            size={32}
            containerStyle={{ position: 'absolute' }}
          />
        </View>
      </View>
    );
  }

容器样式为

  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    paddingTop: Constants.statusBarHeight,
    backgroundColor: '#ecf0f1',
    padding: 8,
  }

零食回购:

https://snack.expo.io/@roach_iam/vigorous-blueberries