react-native - React Native:只允许某个屏幕改变方向
问题描述
我想知道是否可以锁定 iOS 和 Android 上的所有屏幕,除了一个屏幕。我有一个视频播放器,我想在旋转后全屏显示,但所有其他屏幕都必须是唯一的纵向。
我为此使用 react-native-video。
我在使用示例时设法让它旋转,但我需要在 XCODE 和 Android Studio 中设置可能的方向。
我还尝试了 react-native-orientation 并在其上放了一个 .lockToPortrait() 但倾斜后,它再次改变。
任何帮助表示赞赏
解决方案
const {navigation} = props
useEffect(() => {
navigation.addListener("focus", () => {
ScreenOrientation.lockAsync(ScreenOrientation.OrientationLock.DEFAULT);
});
navigation.addListener("blur", () => {
ScreenOrientation.lockAsync(ScreenOrientation.OrientationLock.PORTRAIT);
});
}, [navigation]);
focus
当我们想要允许屏幕旋转的屏幕时触发该事件blur
,当用户离开包含此代码的屏幕时触发该事件,然后限制为 PORTRAIT(在这种情况下)。
推荐阅读
- mysql - 使用链接表和源表mysql创建子查询
- reinforcement-learning - 马尔科夫决策过程的状态转移与动作有关吗?
- sql - SQL如何按包含相同数据的两个不同列进行分组
- python - 从绘图屏幕上单击的两点画线,然后删除艺术家
- sql - 用分区联合 ALL
- python - Python 问题 | 在 https://www.testdome.com 上开发的代码的测试分数是否存在错误
- python-3.x - PUBLIC 属性和方法(适用于公共属性)是否可以被视为封装?
- html - 用户代理问题呈现不可读的标签 html 源数据
- python - Python 3 tkinter。如何修复此 Tcl 网格错误?
- python - Spyder 中的分区分隔符