android studio开发:设置屏幕朝向为竖屏,强制应用的包体始终以竖屏(纵向)展示

在 Android 中,要强制应用的包体始终以竖屏(纵向)展示,可以通过以下几种方式来实现:

✅ 方式一:

AndroidManifest.xml 中设置 Activity 的方向,这是最常用的方法。对所有需要强制竖屏的 Activity 添加如下属性:

xml 复制代码
<activity
    android:name=".YourActivity"
    android:screenOrientation="portrait" />

如果你想整个 app 都是竖屏,就给所有 Activity 都加上 android:screenOrientation="portrait"

✅ 方式二:

在代码中强制设置(不推荐用于所有情况), 可以在 Activity 的 onCreate() 中设置:

java 复制代码
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

不过这种方法 仅在运行时设置方向,可能会被系统配置改变(比如方向感应)影响,不如清单文件里设置稳定。

✅ 方式三:

限制方向感应(可选), 有时你还需要在 res/values/ 的 AndroidManifest.xml之外,进一步防止横屏感应,可以在onConfigurationChanged()中屏蔽方向切换:

java 复制代码
@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
        // 强制重新设置为竖屏
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    }
}

注意要在 AndroidManifest.xml 中声明处理方向变化:

xml 复制代码
android:configChanges="orientation|screenSize"

✅ 方式四:

防止游戏或 WebView 横屏(特例)
如果是游戏/Unity/Flutter 等框架项目,要在框架设置中锁定竖屏方向。 WebView 应用 也一样,Activity 设为竖屏就行了。

批量修改多Activity为竖屏

如果你想批量将多个 Activity 设置为竖屏显示,最直接且可靠的方式是批量修改 AndroidManifest.xml 文件中的每个activity标签,加上:

xml 复制代码
android:screenOrientation="portrait"

✅ 方法一:手动编辑(适用于少量 Activity)

手动为每个 activity 加上 android:screenOrientation="portrait",例如:

xml 复制代码
<activity android:name=".MainActivity"
          android:screenOrientation="portrait" />
<activity android:name=".SettingsActivity"
          android:screenOrientation="portrait" />

✅ 方法二:用正则或脚本自动添加(适用于大量 Activity)

如果你有很多activity 标签,可以使用 Python 脚本、正则表达式、IDE 批处理 来添加这个属性。

🔧 示例 Python 脚本(自动添加竖屏设置)

python 复制代码
import re

with open('AndroidManifest.xml', 'r', encoding='utf-8') as f:
    content = f.read()

# 匹配所有 activity 标签并添加 screenOrientation(如果没有的话)
def add_portrait_orientation(match):
    tag = match.group(0)
    if 'android:screenOrientation' not in tag:
        tag = tag.replace('<activity', '<activity android:screenOrientation="portrait"', 1)
    return tag

new_content = re.sub(r'<activity\s+[^>]+>', add_portrait_orientation, content)

with open('AndroidManifest.xml', 'w', encoding='utf-8') as f:
    f.write(new_content)

print("所有 Activity 已设置为竖屏。")

✅ 方法三:Android Studio 批量修改(带预览)

打开 AndroidManifest.xml。

使用快捷键 Ctrl + R (Windows) 或 Cmd + R (macOS)。

搜索正则:<activity(?![^>]*screenOrientation)[^>]*>

替换为:<activity android:screenOrientation="portrait" + 原内容(你可以先测试一下)。

⚠️ 注意:确保不会重复添加已有的 screenOrientation。

相关推荐
每次的天空4 小时前
Kotlin 内联函数深度解析:从源码到实践优化
android·开发语言·kotlin
练习本4 小时前
Android MVC架构的现代化改造:构建清晰单向数据流
android·架构·mvc
YY_pdd5 小时前
使用go开发安卓程序
android·golang
Android 小码峰啊7 小时前
Android Compose 框架物理动画之捕捉动画深入剖析(29)
android·spring
bubiyoushang8887 小时前
深入探索Laravel框架中的Blade模板引擎
android·android studio·laravel
cyy2987 小时前
android 记录应用内存
android·linux·运维
CYRUS STUDIO7 小时前
adb 实用命令汇总
android·adb·命令模式·工具
这儿有一堆花8 小时前
安卓应用卡顿、性能低下的背后原因
android·安卓
byte轻骑兵8 小时前
【Bluedroid】蓝牙HID DEVICE断开连接流程源码分析
android·c++·蓝牙·hid·bluedroid