diff --git a/docs/statusbar.md b/docs/statusbar.md index 8bb70c8f5d7..e0b655f783c 100644 --- a/docs/statusbar.md +++ b/docs/statusbar.md @@ -9,47 +9,74 @@ Component to control the app status bar. It is possible to have multiple `StatusBar` components mounted at the same time. The props will be merged in the order the `StatusBar` components were mounted. -```SnackPlayer name=StatusBar%20Android%20and%20iOS%20Component%20Example&supportedPlatforms=android,ios -import React, { useState } from "react"; -import { Button, Text, StyleSheet, StatusBar, View } from "react-native"; +```SnackPlayer name=StatusBar%20Component%20Example&supportedPlatforms=android,ios +import React, { useState } from 'react'; +import { Button, Platform, SafeAreaView, StatusBar, StyleSheet, Text, View } from 'react-native'; -import Constants from "expo-constants"; +const STYLES = ['default', 'dark-content', 'light-content']; +const TRANSITIONS = ['fade', 'slide', 'none']; const App = () => { - const styleTypes = ['default','dark-content', 'light-content']; - const [visibleStatusBar, setVisibleStatusBar] = useState(false); - const [styleStatusBar, setStyleStatusBar] = useState(styleTypes[0]); - - const changeVisibilityStatusBar = () => { - setVisibleStatusBar(!visibleStatusBar); + const [hidden, setHidden] = useState(false); + const [statusBarStyle, setStatusBarStyle] = useState(STYLES[0]); + const [statusBarTransition, setStatusBarTransition] = useState(TRANSITIONS[0]); + + const changeStatusBarVisibility = () => setHidden(!hidden); + + const changeStatusBarStyle = () => { + const styleId = STYLES.indexOf(statusBarStyle) + 1; + if (styleId === STYLES.length) { + setStatusBarStyle(STYLES[0]); + } else { + setStatusBarStyle(STYLES[styleId]); + } }; - const changeStyleStatusBar = () => { - const styleId = styleTypes.indexOf(styleStatusBar) + 1; - - if(styleId === styleTypes.length){ - return setStyleStatusBar(styleTypes[0]); + const changeStatusBarTransition = () => { + const transition = TRANSITIONS.indexOf(statusBarTransition) + 1; + if (transition === TRANSITIONS.length) { + setStatusBarTransition(TRANSITIONS[0]); + } else { + setStatusBarTransition(TRANSITIONS[transition]); } - return setStyleStatusBar(styleTypes[styleId]); }; return ( - - - StatusBar Style: {styleStatusBar} - StatusBar Visibility: {!visibleStatusBar ? 'Visible': 'Hidden'} - - - -