当前位置: 首页 > ds >正文

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。

http://www.xdnf.cn/news/4871.html

相关文章:

  • MySQL数据库初体验
  • Spark存储级别
  • LangChain框架-PromptTemplate 详解
  • exo:打造家用设备AI集群的开源解决方案
  • 北京丰台人和中医院,收费贵吗?
  • 构建高可用性的LVS-DR群集:实现无缝的负载均衡与故障转移
  • 龙虎榜——20250508
  • stm32之DMA
  • 游戏引擎学习第264天:将按钮添加到分析器
  • DataWorks快速入门
  • 如果路由器规模恰好介于16台这个临界值那么是选用RIP还是ospf协议?
  • nginx 会话保持(cookie的配置)
  • 从简历筛选到面试管理:开发一站式智能招聘系统源码详解
  • Missashe考研日记-day35
  • 1.3.1 Linux音频框架alsa详细介绍
  • CAP理论:分布式系统的权衡
  • HTTP 状态码是服务器对客户端请求的响应标识,用于表示请求的处理结果
  • SEMI E40-0200 STANDARD FOR PROCESSING MANAGEMENT(加工管理标准)-(二)
  • 功能安全的关键——MCU锁步核技术全解析(含真实应用方案)
  • 深度 |提“智”向新,奔向未来——当前机器人产业观察
  • Redis协议与异步方式
  • 重定向及基础实验
  • QStackedLayout、QStackedWidget 二者的区别?
  • 桥隧坡灾害监测报警:用科技筑起生命安全的“智能防线”
  • C++23 views::as_rvalue (P2446R2) 深入解析
  • Hutool中的Pair类详解
  • Simufact Welding重塑新能源汽车电池盒焊接工艺
  • C程序题案例分析
  • Nacos源码—6.Nacos升级gRPC分析一
  • 缓存(1):三级缓存