如何禁用屏幕旋转(react-native)?
Posted
技术标签:
【中文标题】如何禁用屏幕旋转(react-native)?【英文标题】:How to disable screen rotation (react-native)? 【发布时间】:2016-02-26 07:00:58 【问题描述】:是否有机会禁用屏幕旋转(仅允许垂直)?我想只支持纵向视图。并且需要它在 android 和 ios 上工作。
【问题讨论】:
查看这个答案是否适用于 ios - ***.com/questions/32176548/… 如果使用 CRNA 应用程序,请使用app.json
文件将 orientation
设置为纵向或横向。更多详情请看这里:docs.expo.io/versions/latest/workflow/…
请查看这篇来自媒体的文章-medium.com/react-native-training/…
这能回答你的问题吗? how to disable rotation in React Native?
【参考方案1】:
在您的 Manifest.xml 类中添加 screenOrientation
<activity android:name=".YourActivity"
android:label="@string/app_name"
android:screenOrientation="portrait" />
【讨论】:
【参考方案2】:将以下代码放入清单文件中
<activity
android:screenOrientation="portrait"
android:configChanges="orientation|keyboardHidden">
</activity>
【讨论】:
【参考方案3】:在清单文件中写入以下代码
<activity
android:screenOrientation="portrait"
android:configChanges="orientation|screenSize">
</activity>
【讨论】:
【参考方案4】:在安卓中:-
使用 xml :-android:screenOrientation="portrait"
使用 java :-
@Override
public void onCreate(Bundle savedInstanceState)
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
【讨论】:
请清楚你的答案,这个问题同时适用于 iOs 和 Android。【参考方案5】:获胜者:在应用程序代码中删除它,我通常在所有导入后立即将其丢弃。
Expo.ScreenOrientation.allow(Expo.ScreenOrientation.Orientation.PORTRAIT);
【讨论】:
【参考方案6】:看看安卓官方documentation
您只需将其添加到您的 android MANIFEST
文件中的活动标签中:
<activity
android:screenOrientation=["unspecified" | "behind" |
"landscape" | "portrait" |
"reverseLandscape" | "reversePortrait" |
"sensorLandscape" | "sensorPortrait" |
"userLandscape" | "userPortrait" |
"sensor" | "fullSensor" | "nosensor" |
"user" | "fullUser" | "locked"]
使用您想要的方向。
【讨论】:
【参考方案7】:尝试在config.xml中添加这个
<preference name="Orientation" value="landscape" />
【讨论】:
这适用于 Cordova/Phonegap,不适用于 React Native。以上是关于如何禁用屏幕旋转(react-native)?的主要内容,如果未能解决你的问题,请参考以下文章