android studio开发:设置屏幕朝向为竖屏,强制应用的包体始终以竖屏(纵向)展示
在 Android 中,要强制应用的包体始终以竖屏(纵向)展示,可以通过以下几种方式来实现:
✅ 方式一:
在 AndroidManifest.xml
中设置 Activity 的方向,这是最常用的方法。对所有需要强制竖屏的 Activity 添加如下属性:
<activityandroid:name=".YourActivity"android:screenOrientation="portrait" />
如果你想整个 app 都是竖屏,就给所有 Activity 都加上 android:screenOrientation="portrait"
✅ 方式二:
在代码中强制设置(不推荐用于所有情况), 可以在 Activity 的 onCreate() 中设置:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
不过这种方法 仅在运行时设置方向,可能会被系统配置改变(比如方向感应)影响,不如清单文件里设置稳定。
✅ 方式三:
限制方向感应(可选), 有时你还需要在 res/values/ 的 AndroidManifest.xml
之外,进一步防止横屏感应,可以在onConfigurationChanged()
中屏蔽方向切换:
@Override
public void onConfigurationChanged(Configuration newConfig) {super.onConfigurationChanged(newConfig);if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {// 强制重新设置为竖屏setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);}
}
注意要在 AndroidManifest.xml 中声明处理方向变化:
android:configChanges="orientation|screenSize"
✅ 方式四:
防止游戏或 WebView 横屏(特例)
如果是游戏/Unity/Flutter 等框架项目,要在框架设置中锁定竖屏方向。 WebView 应用 也一样,Activity 设为竖屏就行了。
批量修改多Activity为竖屏
如果你想批量将多个 Activity 设置为竖屏显示,最直接且可靠的方式是批量修改 AndroidManifest.xml 文件中的每个activity
标签,加上:
android:screenOrientation="portrait"
✅ 方法一:手动编辑(适用于少量 Activity)
手动为每个 activity 加上 android:screenOrientation=“portrait”,例如:
<activity android:name=".MainActivity"android:screenOrientation="portrait" />
<activity android:name=".SettingsActivity"android:screenOrientation="portrait" />
✅ 方法二:用正则或脚本自动添加(适用于大量 Activity)
如果你有很多activity 标签,可以使用 Python 脚本、正则表达式、IDE 批处理 来添加这个属性。
🔧 示例 Python 脚本(自动添加竖屏设置)
import rewith 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 tagnew_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。