React Native如何在Bottom Tabs Navigator上方悬浮放置广告元素
你可以通过自定义底部标签栏的容器结构实现需求,无需在每个标签页重复添加广告组件,操作如下:
- 先从依赖包中导入默认的标签栏组件:
import { TabBar } from '@react-navigation/bottom-tabs';
- 修改你现有
TabNavigator.js中的<Tab.Navigator>配置,新增tabBar属性自定义结构,将<BannerAd />放在官方标签栏的上层即可:
<Tab.Navigator screenOptions={({ route }) => ({ headerShown: false, })} tabBarOptions={{ activeTintColor: '#001B79', inactiveTintColor: 'gray', }} // 自定义标签栏结构 tabBar={(props) => ( <> {/* 广告组件固定渲染在标签栏上方 */} <BannerAd /> {/* 渲染原生底部标签栏 */} <TabBar {...props} /> </> )} > <Tab.Screen name="Home1" component={Home11} /> <Tab.Screen name="Home2" component={Home12} /> </Tab.Navigator>
如果需要调整广告的边距、背景色等样式,可以在<BannerAd />外层包裹View组件添加对应样式即可。该方案实现后,广告会在所有标签页切换时始终固定展示在底部标签栏上方。
内容的提问来源于stack exchange,提问作者Manish
相关产品推荐
相关产品推荐

