You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native安卓端如何锁定应用为竖屏模式?

React Native安卓端如何锁定应用为竖屏模式?

我太懂你这种头疼的感觉了——明明在AndroidManifest里加了android:screenOrientation="portrait",结果关掉设备的方向锁后,App还是不听话地切换到横屏。别慌,这几个靠谱的解决办法你挨个试试:

  • 确认AndroidManifest的配置位置和覆盖范围
    你得确保android:screenOrientation="portrait"是加在每个<activity>标签里,而不是只放在<application>标签上!比如你的MainActivity、启动页SplashActivity(如果有的话)都要加上这个属性,不然个别Activity可能还是会横屏。正确的配置示例如下:

    <activity
      android:name=".MainActivity"
      android:label="@string/app_name"
      android:screenOrientation="portrait"
      android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode">
    </activity>
    

    另外别忘了执行cd android && ./gradlew clean清理一下项目缓存,再重新运行App,有时候缓存会导致配置修改不生效。

  • 在MainActivity代码里强制锁定方向
    有时候Manifest的配置可能会被React Native的内部逻辑覆盖,这时候直接在Activity代码里硬锁方向会更稳妥:
    如果你的MainActivity是Java编写的:

    import android.content.pm.ActivityInfo;
    import android.os.Bundle;
    import com.facebook.react.ReactActivity;
    
    public class MainActivity extends ReactActivity {
      @Override
      protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // 强制设置为竖屏
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
      }
    
      // 保留你原有的其他代码...
    }
    

    如果是Kotlin版本的MainActivity:

    import android.content.pm.ActivityInfo
    import android.os.Bundle
    import com.facebook.react.ReactActivity
    
    class MainActivity : ReactActivity() {
      override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        // 强制设置为竖屏
        requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
      }
    
      // 保留你原有的其他代码...
    }
    
  • 排查第三方库的干扰
    如果你用了React Navigation这类导航库,要检查有没有在某个屏幕的配置里不小心开启了横屏权限。比如别在屏幕的options属性里加screenOrientation: 'landscape'这类设置,不然会覆盖全局的竖屏配置。

备注:内容来源于stack exchange,提问作者Sahan Rajapaksha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 13:13:04