锁定设备方向-反应本机(Android)
我正在使用React Native 0.29并为Android开发。我正在尝试锁定设备的方向。我需要的是在纵向模式下锁定屏幕。我尝试使用此存储库,但它还不支持RN 0.29锁定设备方向-反应本机(Android),android,react-native,orientation,device-orientation,Android,React Native,Orientation,Device Orientation,我正在使用React Native 0.29并为Android开发。我正在尝试锁定设备的方向。我需要的是在纵向模式下锁定屏幕。我尝试使用此存储库,但它还不支持RN 0.29 有没有办法锁定设备的方向?可能是Android studio中的任何原生安卓黑客?有一个在0.29.2及以上版本上运行的请求: 如果您使用他的版本,它应适用于0.29.2及更高版本: 步骤: 使用rnpm取消链接以前的安装取消链接react native orientation rm-射频节点\u模块/反应本机方向
有没有办法锁定设备的方向?可能是Android studio中的任何原生安卓黑客?有一个在0.29.2及以上版本上运行的请求: 如果您使用他的版本,它应适用于0.29.2及更高版本: 步骤:
rnpm取消链接以前的安装取消链接react native orientation
rm-射频节点\u模块/反应本机方向
react native orientation
的条目编辑为:
“反应本机定向”:“youennPennarun/react本机定向”
npm安装
react-native-link react-native-orientation
在这之后一切都会好起来的。您可以跟踪PR的进度,并在合并后切换到主回购。只需将android:screenOrientation=“纵向”添加到AndroidManifest.xml中的活动中。react native orientation-不再与新版本兼容(我尝试了0.39.2)。链接这个模块后,我有编译器的错误。 我明白了,现在我们应该使用 npm安装--保存反应本机定向侦听器
rnpm链接步骤:1
npm install git+https://github.com/yamill/react-native-orientation.git --save
第二步:
反应本机链接
步骤:3
使用以下内容修改MainApplication.java文件:
2017年更新
目前,还有另一种方法可以在Android和iOS上使用一次,方法是添加:
“方向”:“纵向”
在app.json
中,如果您正在使用Expo:
{
"expo": {
"name": "My app",
"slug": "my-app",
"sdkVersion": "21.0.0",
"privacy": "public",
"orientation": "portrait"
}
}
或在运行时:
ScreenOrientation.allow()
例如:
ScreenOrientation.allow(ScreenOrientation.Orientation.PORTRAIT);
请注意,只有在使用Expo进行构建时,它才有效,但由于目前(截至2017年)官方指南中建议使用Expo,因此可能很多人都在使用它,因此除了破解Android特定的XML配置文件之外,它还是一个有趣的解决方案,值得一提
更多信息:
有关更多信息,请参阅:
您可以使用
“反应本机方向”已被弃用。
使用“react native orientation locker”组件,您将能够检测当前方向,并通过以下方式将其锁定为纵向/横向:
Orientation.lockToPortrait();
Orientation.lockToLandscapeLeft();
甚至可以使用
Orientation.unlockAllOrientations();
我真的不知道。我遇到了这个模块的奇怪问题。要么是我对React缺乏经验,要么是因为它有问题。。。如何添加可以在react本机项目中看到:android/app/src/main/AndroidManifest.xml
Orientation.unlockAllOrientations();