0

我完全尝试了react-native-safe-area-context中提到的内容, 我在 samsung android 9 中运行了该应用程序,它按预期工作。但是在我的带有 android 8 插图的 oppo 设备中都是 0。我使用的是 react native 0.61。

这是我的根组件。

import React from 'react';
import { StatusBar, Platform } from 'react-native';
import { Provider } from 'react-redux';
import { PersistGate } from 'redux-persist/es/integration/react';
import { SafeAreaProvider } from 'react-native-safe-area-context';

import { store, persistor } from './common/StoreBuilder';
import Routes from './routes/index';


if (Platform.OS === 'android') StatusBar.setHidden(true);

const App = () => (

<Provider store={store}>
  <PersistGate persistor={persistor}>
  <SafeAreaProvider><Routes /></SafeAreaProvider>
  </PersistGate>
</Provider>

);

export default App;

这是我的消费者,它是上述组件的直接子级。

<SafeAreaConsumer>
    {insets => {
      return  <View style={{
        flex: 1,
        paddingTop: insets.top,
        paddingLeft: insets.left,
        paddingBottom: insets.bottom,
        paddingRight: insets.right,
      }}>
        <Router>
          <Stack key="root" hideNavBar>
            ...
          </Stack>
        </Router>
        <MessageContainer />
      </View>
    }}

  </SafeAreaConsumer> 
4

0 回答 0