скрыть / удалить значок или представление значков из нижней панели навигации
Я хочу удалить пространство значков / вид из навигатора нижней вкладки. Я попытался удалить значок, удалив tabBarIcon, но это не сработало. Вот код, который я пробовал, и результат, который я получил. Выглядит не очень хорошо, этикетка не в центре. Похоже, они опустились ниже видимого экрана. Используемый код:
const TabNavigator = createMaterialBottomTabNavigator(
{
Home: {
screen: screen1,
navigationOptions: {
// tiitle: "hello"
// tabBarIcon: () => {
// <View></View>
// },
tabBarLabel: <Text style={{ fontSize: 15, textDecorationLine: 'underline', }}>Screen1</Text>,
}
},
People: {
screen: screen2,
navigationOptions: {
tabBarLabel: <Text style={{ fontSize: 15, textDecorationLine: 'underline' }}>Screen2</Text>,
activeColor: '#E8947F',
inactiveColor: '#C4C9CB',
}
},
Connects: {
screen: screen3,
navigationOptions: {
tabBarLabel: <Text style={{ fontSize: 15, textDecorationLine: 'underline' }}>Screen3</Text>,
activeColor: '#E8947F',
inactiveColor: '#C4C9CB',
// barStyle: { backgroundColor: '#2c6d6a' },
}
},
},
{
initialRouteName: 'Home',
activeColor: '#E8947F',
inactiveColor: '#C4C9CB',
barStyle: { backgroundColor: '#00000000' },
});
Итог:
Я новичок в React-Native. Пожалуйста, помогите мне.
6 ответов
Вам просто нужно добавить screenOptions={{tabBarIconStyle: {display: "none"}}}, как показано в примере ниже.
<Tab.Navigator
screenOptions={{
tabBarLabelPosition: "beside-icon",
tabBarLabelStyle: {
fontWeight: "700",
fontSize: 15
},
tabBarIconStyle: { display: "none" },
}}
>
<Tab.Screen
component={DemoComponent}
name="Demo"
options={{ tabBarLabel: "My Demo" }}
/>
</Tab.Navigator>
Просто вам нужно добавить эти параметры в Tab.Screen, которые вы хотите скрыть в TabNavigator, как показано ниже.
<Tab.Screen name="Home" component={HomeStack} options={{
tabBarButton: () => null,
tabBarVisible: false,
}} />
Я решил эту проблему с помощью tabBarOptions ниже,
tabBarOptions: {
style: {
backgroundColor: 'white',
alignItems: 'center',
},
labelStyle: {
fontSize: 16,
},
activeTintColor: '#444444',
inactiveTintColor: 'lightgrey',
showIcon: false,
}
Сегодня у меня была такая же проблема, и я не нашел ни одного решения во всем Интернете.
К счастью, мне удалось решить эту проблему с помощью следующих стилей:
tabBarOptions={{
labelStyle: {
position: 'absolute',
top: 0,
bottom: 0,
left: 0,
right: 0,
textAlignVertical: 'center',
},
}}
У меня сработало только
tabBarLabelStyle: {
position: 'absolute'
}
Если вы хотите увидеть различия, добавьте
borderWith: 1
Чтобы убедиться
Добавьте это в свой код навигации:
tabBarOptions: {
showIcon: false
},
Ссылка: React Navigation Documentation