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。

相关推荐
行走的陀螺仪2 小时前
.vscode 文件夹配置详解
前端·ide·vscode·编辑器·开发实践
e***87706 小时前
windows配置永久路由
android·前端·后端
fouryears_234177 小时前
现代 Android 后台应用读取剪贴板最佳实践
android·前端·flutter·dart
YF02118 小时前
Frida for MacBook/Android 安装配置
android·前端
雨白9 小时前
Android实战:构建高可维护的日志系统
android
茄子凉心10 小时前
android 开机启动App
android·java·开发语言
2501_9371931412 小时前
神马影视 8.8 版源码:4K 播放优化体验测评
android·源码·源代码管理·机顶盒
修炼者13 小时前
Kotlin中的Flow流
android·kotlin
洞见不一样的自己13 小时前
Android studio 编译问题
android
j***630813 小时前
SpringbootActuator未授权访问漏洞
android·前端·后端