【发布时间】:2021-04-09 02:38:06
【问题描述】:
White flicker when switching from bottom tab navigator to top tab navigator
这个白色闪烁在这个 gif 之外更加明显。但是我正在使用 Expo 管理的 React Native 项目,当我从底部选项卡导航器切换到顶部选项卡导航器时,屏幕会闪烁白色。此问题仅发生在 Android 上。最重要的是,当您按下 TextInput 打开键盘时,在键盘动画发生时键盘占用的部分屏幕会变为白色。这是我在 App.js 中的导航器
const AuthTabs = createMaterialTopTabNavigator();
const AuthStackScreen = () => (
<AuthTabs.Navigator tabBarOptions={options}>
<AuthTabs.Screen name="Sign In" component={SignInScreen} />
<AuthTabs.Screen name="Sign Up" component={SignUpScreen} />
</AuthTabs.Navigator>
);
const Tab = createBottomTabNavigator();
const MainStack = () => (
<Tab.Navigator>
<Tab.Screen name="Deals" component={DealsStackScreen} />
<Tab.Screen name="Categories" component={CategoriesStackScreen} />
<Tab.Screen name="My Account" component={MyAccountStackScreen} />
</Tab.Navigator>
const RootStack = createStackNavigator();
const Root = () => (
<RootStack.Navigator headerMode="none" cardStyle={{opacity: 1}} >
<RootStack.Screen name="Home" component={MainStack}/>
<RootStack.Screen name="Auth" component={AuthStackScreen}/>
</RootStack.Navigator>
);
return (
<AuthContextProvider>
<NavigationContainer theme={{ colors: {background: `${Colors.surface}` }}}>
<Root />
</NavigationContainer>
</AuthContextProvider>
);
我尝试将我的主题颜色添加到NavigationContainer,但这并没有解决问题。链接还显示了正在发生的事情的 GIF。
【问题讨论】:
-
在应用的根目录周围放置一个包装视图,并设置一个背景颜色,以便在发生这种情况时可见。
-
@brentvatne 没错!
标签: javascript react-native expo react-native-android react-native-navigation