javascript - 如何在不自动更改 React Native 中 tabBarIcon 和 tabBarLabel 的位置的情况下增加反应导航 tabBar 的标签栏高度?
问题描述
当我更改 tabBar 的高度时,我得到了奇怪的结果,tabBarIcon 和 tabBarLabel 彼此分开,并且不会一起留在 tabBar 的中心。例如,当增加它时,它会导致以下图片:
我尝试了很多方法来修复它,即使标签栏的高度发生变化,它们也会保持在一起,但我找不到一个好的解决方案。我出现在android和ios上。有人可以帮助解决这个问题吗?这是我当前的代码:
<NavigationContainer>
<Tab.Navigator screenOptions={({ route }) => ({
tabBarIcon: ({ focused, color, size }) => {
let iconName: string = "";
if (route.name === TRANSLATIONS.navigation.tabBar.dashboard) {
iconName = 'ios-clipboard'
} else if (route.name === TRANSLATIONS.navigation.tabBar.search) {
iconName ='md-search';
} else if (route.name === TRANSLATIONS.navigation.tabBar.offer) {
size = 35
iconName ='ios-add';
}
return <Ionicons name={iconName} size={size} color={color} />;
},
})}
tabBarOptions={{
activeTintColor: THEME.colors.greenPrimary,
inactiveTintColor: THEME.colors.grey,
keyboardHidesTabBar: true,
style: {
height: 100,
},
}}>
<Tab.Screen name={TRANSLATIONS.navigation.tabBar.search} component={SearchStack} options={({ route }) => ({tabBarVisible: getTabBarVisible(route) })}/>
<Tab.Screen name={TRANSLATIONS.navigation.tabBar.dashboard} component={DashboardStack} options={({ route }) => ({tabBarVisible: getTabBarVisible(route) })} />
<Tab.Screen name={TRANSLATIONS.navigation.tabBar.offer} component={OfferStack} options={({ route }) => ({tabBarVisible: getTabBarVisible(route) })}/>
</Tab.Navigator>
</NavigationContainer>
解决方案
推荐阅读
- spring-cloud-dataflow - 如何在自定义流应用程序中使用千分尺、流入和格拉法纳?
- xslt - XSLT 参数值
- maven - 当空手道场景失败时使 maven 测试目标失败
- ms-access - 确定一条记录是否有很多产品
- c++ - 将构造函数定义和声明分开
- html - 响应列表项
- python - 如何使 tkinter 小部件居中,忽略另一个小部件?
- c++ - 如何编写一个通用或灵活的函数,它可以接受任意数量的参数,以便对它们执行指定的任务?
- python - matplotlib 字体与 LaTeX 字体不匹配
- php - .htaccess RewriteRule 更改特定目录中的一些 php 页面