I have a react native app and want to change the color of the seperator from my bottom tab navigator.
Also can I set the background color somehow to transparent. Right now I set it to the same color as my background.
I want to change the white seperator line
export default function App() {
let [fontsLoaded] = useFonts({
'Inter-Light': require('./assets/fonts/Inter-Light.ttf'),
'Inter-Regular': require('./assets/fonts/Inter-Regular.ttf'),
'Inter-Medium': require('./assets/fonts/Inter-Medium.ttf'),
'Inter-SemiBold': require('./assets/fonts/Inter-SemiBold.ttf'),
'Inter-Bold': require('./assets/fonts/Inter-Bold.ttf'),
// Weitere Schriftarten hier registrieren
});
if (!fontsLoaded) {
return <Text>Error While Loading fonts</Text>;
}
return (
<ThemeProvider>
<NavigationContainer>
<Tab.Navigator
screenOptions={({ route }) => ({
headerShown: false,
tabBarStyle: { backgroundColor: route.name === 'Home' ? useTheme().theme.colors.background : 'YOUR_TAB_BAR_BACKGROUND_COLOR'},
tabBarActiveTintColor: route.name === 'Home' ? useTheme().theme.colors.blue : 'YOUR_INACTIVE_TAB_COLOR',
tabBarInactiveTintColor: 'white',
tabBarShowLabel: false, // Um die Tab Labels auszublenden
//tabBarIndicatorStyle: { backgroundColor: 'black' }, // Hier kannst du die Farbe des Strichs unter dem aktiven Tab ändern
tabBarSeparatorStyle: { backgroundColor: 'green' }, // Hier kannst du die Farbe des Trennstrichs oben an der Tab-Bar ändern
})}
>
<Tab.Screen name="Home" component={HomeScreen} />
<Tab.Screen name="Details" component={DetailScreen} />
</Tab.Navigator>
</NavigationContainer>
</ThemeProvider>
);
}
I tried with
tabBarSeparatorStyle: { backgroundColor: 'green' }
but this doesnt work
2
Answers
While there’s no direct prop for setting the tab bar background entirely transparent, you can achieve a similar effect with a combination of styles:
borderTopColor on the tabBarStyle worked for me. Note that borderColor did not work, probably because the tabBar has borderTopColor set and that takes priority over borderColor. Same applies to borderWidth vs borderTopWidth.