【问题标题】:How do you make rounded corners on a tab bar on React Native with React Navigation?如何使用 React Navigation 在 React Native 的标签栏上制作圆角?
【发布时间】:2020-10-02 02:45:12
【问题描述】:

堆栈:

  • 反应原生
  • 反应导航器
  • 仅限核心组件

我在 TabNavigator.tsx 上有这种风格:

const styles = StyleSheet.create({
  tabStyle: {
    backgroundColor: colors.background,
    borderTopLeftRadius: 40,
    borderTopRightRadius: 40,
    height: 80,
    overflow: 'hidden',
    // position: 'absolute', // needed to ensure the bar has a transparent background in the corners
  },
})

我一直在评论绝对位置,角落后面总是有背景,当另一个颜色的组件滚动时看起来很奇怪。

在这里,为可见性用黄色着色:

如果我取消注释绝对位置,则内容会在标签栏后面流动,使其感觉更自然。

但是……

我需要在每个屏幕上添加一个底部边距以补偿选项卡占用的空间,或者底部的内容被隐藏。

我觉得应该有一个好的做法或一个已知的模式,也许是一个经过测试的解决方法,这会让我的生活更轻松。你有什么想法吗?

谢谢

【问题讨论】:

标签: react-native react-navigation react-navigation-bottom-tab react-native-component


【解决方案1】:

啊,这很简单,经过反复试验后,我发现只需为其添加边框半径并确保 barStyle 已隐藏溢出。在这里,我为它粘贴了 sn-p。

barStyle:{
    borderRadius:50,
    backgroundColor:"orange",
    position: 'absolute',
    overflow:'hidden',
    left: 0,
    bottom: 0,
    right: 0,
    padding:5,
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-12
    • 1970-01-01
    相关资源
    最近更新 更多