NativeBase + Exponent Header

后端 未结 5 1054
情话喂你
情话喂你 2021-02-07 08:44

I\'m using NativeBase with Exponent. The Header goes beneath the phone\'s StatusBar. You can see this in the NativeBase demo that Exponent released.

Does anyone

相关标签:
5条回答
  • 2021-02-07 09:00

    I ended up adding a marginTop with the value of the device's StatusBar.

    import {
      StatusBar,
    } from 'react-native'
    

    In my global stylesheet:

    header: {
      marginTop: StatusBar.currentHeight,
    }
    
    0 讨论(0)
  • 2021-02-07 09:03

    Old post but recently I've faced same issue with Expo. And I overcome this issue by adding this line to app.json file.

    "androidStatusBar": { "backgroundColor": "#000000" }

    app.json file

    {
      "expo": {
        "name": "You App Name",    
        "androidStatusBar": {
          "backgroundColor": "#000000"
        }
      }
    }
    

    That solved my issue. I think this may help to others.

    0 讨论(0)
  • 2021-02-07 09:09

    Since this issue only comes up in Android, the recommended way to fix this would be to target Android specifically using Platform :

    import {Platform, StatusBar} from 'react-native'
    
    const styles = StyleSheet.create({
        container: {
                flex: 1,
                ...Platform.select({
                    android: {
                        marginTop: StatusBar.currentHeight
                    }
                })
    
            }
    })
    

    Where container is the main container in the app.

    <View style={styles.container}>
     // rest of the code here
    </View>
    
    0 讨论(0)
  • 2021-02-07 09:11

    There is a simple solution for this problem just import StatusBar component and use this tag:

    <StatusBar hidden />
    

    for example in a page:

    /*
      Page with no statusbar
    */
    import React, {Component} from 'react'
    import {Platform, View, Text, StatusBar} from 'react-native'
    
    export default class App extends React.Component{
      render(){
        return(
            <View>
            <StatusBar hidden />
             <Text> Hello World </Text>
            </View>
        );
      }
    }
    

    This Component work well with expo and react-native-cli latest virsions. for more help you can use ReactNative docs for StatusBar

    0 讨论(0)
  • 2021-02-07 09:22

    I found a better way to handle this using the StyleProvider with my theme, and then into de components folder (native-base-theme/components) found the Header.js file and change the paddintTop value (around 305 line)

    0 讨论(0)
提交回复
热议问题