gpt4 book ai didi

javascript - 如何在 native react 中使选项卡在选项卡栏中垂直居中

转载 作者:行者123 更新时间:2023-11-28 12:57:20 25 4
gpt4 key购买 nike

我使用 https://reactnavigation.org/docs/en/bottom-tab-navigator.html 中的 createBottomTabNavigator 在 React Native 中创建了一个导航器

我遇到的问题是我找不到将选项卡在选项卡栏中垂直居中的方法。

正如您在 screenshot 中看到的那样选项卡底部始终有蓝色区域。即使我手动设置选项卡的高度,它们也会向上生长。如果我为标签栏设置 flex:1,它会占据屏幕的一半,但蓝色区域仍然存在。

tabBar: {
backgroundColor: 'blue',
borderWidth: 2,
height: 32,
justifyContent: 'center',
alignItems: 'center',
padding: 0
},
labelStyle: {
backgroundColor: 'green',
},
tabStyle: {
backgroundColor: 'yellow',
flex: 1,
justifyContent: 'center',
alignItems: 'center',
alignSelf: 'center',
borderWidth: 1,
borderColor: 'black',
marginBottom: 0,
paddingBottom: 0,
},

这就是我创建导航栏的方式(为了简单起见,我删除了图标):

const TabNavigator = createBottomTabNavigator(
{
screen1: { screen: screen1 },
screen2: { screen: screen2 },
screen3: { screen: screen3 },
screen4: { screen: screen4 },
},
{
tabBarOptions: {
style: styles.tabBar,
labelStyle: styles.labelStyle,
tabStyle: styles.tabStyle
},
}
);

const App = createAppContainer(TabNavigator);

export default () => {
return (
<SafeAreaView style={{ flex: 1, backgroundColor: 'red' }}>
<App />
</SafeAreaView>
);
};

最佳答案

我自己找到了解决方案,并将其分享给有同样问题的人。底部间距始终存在的原因是有一个名为 safeAreaInset 的 prop,其默认值为 { Bottom: 'always', top: 'never' }

我所要做的就是将 bottom 的值更改为 never,这样就不会在底部添加任何间距!

关于javascript - 如何在 native react 中使选项卡在选项卡栏中垂直居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54115872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com