Показать / скрыть заголовок навигации в зависимости от платформы в реагирующем - PullRequest
0 голосов
/ 27 февраля 2019

Я хочу показать / скрыть заголовок в зависимости от платформы в реагирующем.Я сделал это

  const RNApp = createStackNavigator(
  {
    Menu: {
      screen: Menu,
      navigationOptions: {
        gesturesEnabled: false,
        headerBackground: (
          <Image
            style={[
              StyleSheet.absoluteFill,
              {
                width: Metrics.screenWidth * 0.5,
                height: Metrics.navBarHeight * 0.6,
                marginTop:
                  Platform.OS === "ios"
                    ? Metrics.navBarHeight * 0.45
                    : Metrics.navBarHeight * 0.2,
                marginLeft: Metrics.screenWidth * 0.25,

                resizeMode: "contain"
              }
            ]}
            source={images.icons.headerimage}
          />
        )
      }
    },
    WebViewScreen: {
      screen: WebViewScreen,
      navigationOptions: {
        headerVisible: Platform.OS === "ios" ? true : false,
        gesturesEnabled: false
      }
    }
  },
  {
    headerMode: "screen",
    initialRouteName: "Menu"
  }
);

Это работает, если платформа работает так же, как я хочу, так как нет аппаратной кнопки возврата, должен быть заголовок для перехода назад.Но с приведенным выше кодом заголовок все еще виден в случае Android также даже с условием, которое я дал.Как решить эту проблему?

1 Ответ

0 голосов
/ 27 февраля 2019

Нет недвижимости headerVisible.Свойство, которое вы ищете, это header:

header

Элемент React или функция, которая с учетом того, что HeaderProps возвращает элемент React, для отображения в видезаголовокУстановка в null скрывает заголовок.

В вашем случае это должно быть:

import { Header } from 'react-navigation'; // import the default header to use it for iOS

...

navigationOptions: {
    header: (headerOptions) => Platform.OS === 'android' ? null : <Header {...headerProps} />,
    gesturesEnabled: false
}

См. Также здесь .

...