react-native - 使用 SafeAreaView 反应导航抽屉
问题描述
尝试使用带有安全区域视图的反应导航抽屉。顺便说一句,我正在使用自定义抽屉。
我的抽屉像下面这样工作(红色的一个是抽屉。蓝色的一个是安全区域的休息,底部的白色字段也是)。
我希望抽屉覆盖所有安全区域字段。(它必须覆盖顶部蓝色和底部白色区域)
这是我的代码;
我的 App.js:
<Provider store={store}>
<PersistGate loading={null} persistor={persistor}>
<SafeAreaView style={{ flex: 0, backgroundColor: '#3b7a99' }} />
<SafeAreaView style={[Layout.fill, { backgroundColor: '#fff' }]}>
<NavigationContainer ref={navigationRef}>
<StatusBar barStyle="light-content" backgroundColor="#3b7a99" />
<ApplicationNavigator />
</NavigationContainer>
</SafeAreaView>
</PersistGate>
</Provider>
我的导航器:
import React, { useEffect, useState } from 'react'
import { createDrawerNavigator } from '@react-navigation/drawer'
import { DashboardNavigator, OrderNavigator, TireNavigator } from '@/Navigators'
import { useSelector } from 'react-redux'
import DrawerContent from './DrawerContent'
const Drawer = createDrawerNavigator()
let MainNavigator
// @refresh reset
const ApplicationNavigator = () => {
const [isApplicationLoaded, setIsApplicationLoaded] = useState(false)
const applicationIsLoading = useSelector((state) => state.startup.loading)
useEffect(() => {
if (MainNavigator == null && !applicationIsLoading) {
MainNavigator = require('@/Navigators/Main').default
setIsApplicationLoaded(true)
}
}, [applicationIsLoading])
return (
<Drawer.Navigator
drawerStyle={{ width: '100%' }}
drawerContent={(props) => <DrawerContent {...props} />}
>
<Drawer.Screen name="Dashboard" component={DashboardNavigator} />
<Drawer.Screen name="Order" component={OrderNavigator} />
<Drawer.Screen name="Tire" component={TireNavigator} />
</Drawer.Navigator>
)
}
export default ApplicationNavigator
解决方案
子组件不能覆盖父组件应用的填充。
您不应该将整个应用程序包装在 中SafeAreaView
,而是在适用时将特定内容包装在屏幕中。
推荐阅读
- java - Why is @JacksonXmlProperty ignoring parameters in Spring Boot with Kotlin?
- python - 自动主题标签评估指标
- java - 编写方法,以便将主要代码替换为更简单的代码
- javascript - 外部类调用一个LitElement组件方法(传递html模板),组件方法更新其html模板
- javascript - 有没有办法使用 SurveyJS 将调查结果保存为 Json 或文本文件?
- python - 学习率对收敛速度没有影响?
- python - 如何打印列表中每个元素的第一个字母
- python - 如何将固定的 subplot2grid 排列的倍数绘制成一个图形?
- python - 当 Pandas 在多个带有颜色标签的子图中创建散点图时,无法设置 xlabel
- javascript - Need mmenu to react differently on desktops and mobile devices