如何使用React Navigation在React Native的选项卡栏上制作圆角?

问题描述

堆栈:

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

我在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
  },})

我一直评论绝对位置,角落里总是有一个背景,当另一种颜色滚动时,它看起来很奇怪。

这里是黄色,以提高可见度:

Background

如果我取消对绝对位置的注释,则内容会在选项卡栏的后面流动,使它显得更加自然。

但是...

我需要在每个屏幕上添加一个底边距,以补偿标签占用的空间,否则底部内容将被隐藏。

我觉得应该有一个好的习惯或已知的模式,也许是经过测试的解决方法,这将使我的生活更轻松。你有主意吗?

谢谢

解决方法

啊,这很简单,经过反复试验后,我发现只需向其中添加 Border Radius 并确保 barStyle 已隐藏溢出。我在这里粘贴了它的片段。

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...