Как динамически установить ориентацию нажатого экрана - React-Native-Navigation - PullRequest
0 голосов
/ 05 июля 2018

Я хотел бы знать, как динамически изменять ориентацию нажатого экрана с помощью response-native-navigation.

Я использую startSingleScreenApp с appStyle ориентации: «портрет», чтобы вызвать портретные экраны. и я хочу, чтобы только один из нажатых экранов использовал 'auto'

Я пробовал следующее:

static navigatorStyle = {
   drawUnderTabBar: true,
   orientation: 'auto'
};

Я также пробовал:

componentWillMount() {
   this.props.navigator.setStyle({
      orientation: 'auto'
   });
};

Я даже выдвинул на экран:

...
navigatorStyle: {
  orientation:'auto'
}
...

Возможно ли даже динамически изменить его?

1 Ответ

0 голосов
/ 05 июля 2018

Это может быть достигнуто с помощью «Реагировать на родную ориентацию». Он будет прослушивать изменения ориентации устройства в приложениях React Native и программно устанавливать предпочтительную ориентацию для каждого экрана. Он работает как для Android, так и для iOS. Пожалуйста, найдите ниже ссылку для более подробной информации:

https://github.com/yamill/react-native-orientation

Вы можете использовать его следующим образом:

import Orientation from 'react-native-orientation';

// this locks the view to Portrait Mode. Need to add this in your screens 
 componentDidMount function
Orientation.lockToPortrait();

Или

// this locks the view to Landscape Mode. Need to add this in your screens 
 componentDidMount function
 Orientation.lockToLandscape();

Вы можете найти подробные инструкции / руководства в общей ссылке. Вы можете добавить свою логику соответственно вашим потребностям. Надеюсь, это поможет вам.

...