簡體   English   中英

React Native - StackNavigator 標頭具有雙倍高度

[英]React Native - StackNavigator header has double height

我有一個類似的問題在升級到 expo SDK 37.0.0 之后我的 stackNavigator 標頭的高度增加了一倍,但是我在 Expo SDK 36 上遇到了同樣的問題。我嘗試升級 Expo (37.0.0) 和 react-navigation 版本,但它對標題沒有影響。

"react-navigation": "^3.13.0",
"react-navigation-drawer": "^1.4.0",
"react-navigation-stack": "^1.7.3",
"react-navigation-tabs": "^1.2.0",

我有一個身份驗證開關(如 react-navigation docs 中所示),然后路由到 BottomTabNavigator 上方的堆棧。 通過這種方式,我可以在底部欄上呈現一個屏幕。 然后我在BottomTabNavigator中有一個堆棧列表。

// Main appNavigator
export default createAppContainer(
    createAnimatedSwitchNavigator({
        AuthLoading: AuthLoadingScreen,
        Auth: AuthStack,
        App: AboveBottomTabStack,
    }, {
        initialRouteName: 'AuthLoading',
    })
);

// Components routed here are ABOVE bottom tab navigator
const AboveBottomTabStack = createStackNavigator(
    {
        Tabs: {
            screen: MainTabNavigator,
            navigationOptions: {
                // Hides the header, in this case the headers of the Stack components inside TabNavigator are shown
                header: null,
            }
        },
        ReportScreen: ReportScreen
    }
);

// Components routed here are UNDER bottom tab navigator
const MainTabNavigator = createBottomTabNavigator({
    HomeStack: HomeStack,
    ReportListStack: ReportListStack,
    SettingsStack: SettingsStack,
});

// One of the stacks inside the TabNavigator
const HomeStack = createStackNavigator(
    {
        Dashboard: {
            screen: DashboardScreen,
            navigationOptions: {
                headerStyle: {
                    //backgroundColor:'#00beb8',
                    height: 0,  // Even with height 0 the header is displayed
                }
            }
        },
    }
);

我嘗試將最后一個堆棧的標題設置為 null(例如 HomeStack 中的那個),並且標題實際上隱藏了。 問題是尺寸,即使高度設置為0,也顯示了一小部分標題,您可以在頂部鏈接的問題中看到圖片。

好的,在朋友的幫助下,我們設法找到了解決此問題的方法。 在導航選項中使用以下道具為我們解決了這個問題:

 navigationOptions: {
            headerForceInset: { vertical: 'never' },
        }

根據我從 react-navigation文檔中的理解,它圍繞應用程序的內容創建了一個 SafeAreaView 組件,但是為什么它會在頂部創建這個煩人的小欄,我仍然不知道。

編輯:這個道具應該只為 android 編寫,因為在 Iphone 上它會產生圖形問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM