我想渲染createMaterialTopTabNavigator()
从react-navigation
自定义标题组件内部创建的材质顶部选项卡导航器。事实上,我的标题是一个渐变,所以我需要像这样在标题中添加标签:
所以我marginTop
在标签栏上设置了一个负数以将其放在标题上:
// AppNavigator.ts
function MyTabStack() {
const TabStack = createMaterialTopTabNavigator();
return (
<TabStack.Navigator
initialRouteName="MyTabScreen1"
lazy={true}
style={{
marginTop: -40 - 14,
zIndex: 1,
}}
tabBarOptions={{
style: {
backgroundColor: 'transparent',
height: 50,
},
}}>
<TabStack.Screen
name="MyTabScreen1"
component={MyTabScreen1}
options={{ title: 'Tab 1' }}
/>
<TabStack.Screen
name="MyTabScreen2"
component={MyTabScreen2}
options={{ title: 'Tab 2' }}
/>
</TabStack.Navigator>
);
}
function App() {
return (
<SafeAreaProvider>
<NavigationContainer
<Stack.Navigator headerMode="screen" initialRouteName="MyScreen">
<StackFidelity.Screen
name="MyScreen"
options={() => ({
header: ({ options }) => <MyGradientHeader {...options} />,
})}
component={MyTabStack}
/>
</Stack.Navigator>
</NavigationContainer>
);
}
它在 Android 上运行良好,但在 iOS 上却不行,因为标签栏在标题后面(我不知道为什么)。我可以在世博会(网络版)上重现:世博链接 你有解决方案吗?