アプリのすべての画面をiOSとAndroidの両方のステータスバーの下に表示したいので、StatusBar
コンポーネントまたはpaddingTop
をすべての画面に追加する必要があります。
これをグローバルに行う方法はありますか? ReduxアプリでStatusBar
を追加するための適切な最上位コンポーネントはどこにありますか? (例: https://github.com/react-community/react-navigation/tree/master/examples/ReduxExample )のどの部分?
ステップ1:プラットフォームとステータスバーをインポートする
import { Platform, StatusBar} from 'react-native';
手順2:このスタイルを親ビューに追加する
paddingTop: Platform.OS === 'Android' ? StatusBar.currentHeight : 0
完全なコード:
import React, { Component } from 'react';
import {
Text, View,
Platform, StatusBar
} from 'react-native';
export default class App extends Component {
render() {
return (
<View style={{ paddingTop: Platform.OS === 'Android' ? StatusBar.currentHeight : 0 }}>
<Text>This is Text</Text>
</View>
);
}
}
<NavigationContainer/>
コンポーネントを使用して、すべての異なるページを保持します。これにより、すべての画面コンポーネントでStatusBar
およびパディングコードを複製する必要がなくなります。
私はここに例を作成しました: https://snack.expo.io/SyaCeMOwW
また、ナビゲーション構造やReduxフローに関して何も変更する必要はありません。