react-native - 如何使选项卡栏图标的溢出在 React Native 中可点击?

我正在使用 React Navigation 5 和 @react-navigation/bottom-tabscreateBottomTabNavigator 创建自定义标签栏,

问题:红色图标只能在标签栏范围内点击,一旦我越过标签栏的灰色线,我就无法点击图标。

我使用以下标签屏幕代码创建了它

<Tab.Screen
    name="Scan"
    component={Scan}
    options={({ navigation }) => {
      return {
        tabBarIcon: () => <MiddleIcon navigation={navigation} />,
      };
    }}
  />

我已经尝试将整个 View 包裹在可触摸的不透明度中,但它仍然只能在标签栏的范围内触摸

MiddleIcon 组件:

const MiddleIcon = ({ navigation }) => {
  return (
    <TouchableOpacity
      onPress={() => navigation.navigate('Scan')}
      style={styles.container}>
      <View style={styles.imageContainer}>
        <Image
          source={require('../../../assets/images/shared/scan_icon.png')}
        />
      </View>
    </TouchableOpacity>
  );
};

export default MiddleIcon;

const styles = StyleSheet.create({
  container: {
    position: 'absolute',
    bottom: 20,
    height: 58,
    width: 58,
    borderRadius: 58,
    backgroundColor: colors.primaryColor,
    justifyContent: 'center',
    alignItems: 'center',
    shadowColor: '#000',
    shadowOffset: {
      width: 0,
      height: 3,
    },
    shadowOpacity: 0.29,
    shadowRadius: 4.65,
    elevation: 7,

    flex: 1,
  },
  icon: {
    width: 40,
    height: 40,
    tintColor: '#fff',
    alignContent: 'center',
  },
  imageContainer: {
    shadowColor: '#000',
    shadowOffset: {
      width: 0,
      height: 2,
    },
    shadowOpacity: 0.25,
    shadowRadius: 3.84,

    elevation: 5,
    width: 30,
    height: 30,
  },
});

问题:如何让它在底部标签栏的边界之外可以点击?

最佳答案

在 imageContainer 样式上使用 zIndex

https://stackoverflow.com/questions/63785103/

相关文章:

flutter - 如何在 Flutter 中绘制尖三角形边?

typescript - 数字和通用参数之间的区别

reactjs - CRA typescript环境导出类型时如何解决解析错误

javascript - 使用逗号自动格式化数字时如何保留预期的光标位置?

post - ESP32 异步 Web 服务器 POST 方法不起作用

react-native - 如何在没有 Firebase 的情况下为 React Native A

python - 为什么在 Python 3.x 中的循环中使用 list() 会返回内存错误?

javascript - select2 on select data-select2-id 属性添

gradle - React Native 项目 Android Gradle Fail (Reac

python - 使用 tokenizer.encode_plus 时遇到问题