我正在开发一个本机应用程序,由于应用程序的性质,它通常会被锁定为肖像。使用AndroidManifest.xml中的以下标志将应用程序锁定为纵向
android:screenOrientation="portrait"
现在我想让应用程序能够在应用程序中的某个位置旋转。 react-native中的Modal组件似乎是正确的选择。模态配置如下:
<Modal
animationType="slide"
transparent={false}
supportedOrientations={['portrait', 'portrait-upside-down', 'landscape', 'landscape-left', 'landscape-right']}
>
<View style={styles.modal}>
<View>
<TouchableHighlight onPress={() => {
this.setState({
awareVisible: false
});
}}>
<Text>Hide Modal</Text>
</TouchableHighlight>
</View>
</View>
</Modal>
在iOS中,这种方法很好,视图会旋转,在Android中它不会做任何事情。我尝试创建一个自定义模态组件并在Android代码中捕获它,但这对我来说也不起作用。
答案 0 :(得分:0)
您可以使用react-native-orientation ...执行此操作,并且由于似乎不再维护此项目,因此最好使用以下fork:react-native-orientation-locker
有了它,您只需要在需要时设置以下内容:
Orientation.unlockAllOrientations(); //this will unlock the view to all Orientations
Orientation.lockToPortrait(); //this will lock the view to Portrait
Orientation.lockToLandscapeLeft(); //this will lock the view to Landscape
我还在我的一个应用程序中使用了它,它被强制设置为纵向模式。但是我需要使用风景模式来查看图像库的图像。 在Android和IOS上都可以很好地工作。
希望这对您有所帮助。