android - Android - 屏幕方向问题 - 只需要纵向
问题描述
我的问题:我希望我的应用程序仅在纵向模式下运行。为此,我必须android:screenOrientation=portrait
在“AndroidManifest”文件中为每个活动定义“”。我不想为每个活动定义那条线。所以我想出了另一个解决方案,比如创建一个 ' ' 的子类并在方法中Application
注册一个“ ”我已经添加了行 activity's life cycle
onActivityCreated
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
但是现在,问题是这个“设备自动旋转已启用,当前设备位置是横向的,当我打开我的应用程序时,每个活动最初都会启动两次。” 有什么通用的解决方案吗?
解决方案
每个活动启动 2 次,因为它首先以横向模式加载,调用 onCreate() 并在执行屏幕旋转代码行时再次旋转
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
解决此问题的唯一方法是为清单中的每个活动提及 screenOrientation="portrait" 。这是您强制在纵向模式下创建活动的唯一方法。
推荐阅读
- kotlin - 使字符串以 Kotlin 中的指定前缀开头
- python - 获取 AttributeError 解析 JSON 数据
- python - pandas:将字符串列拆分为多列并动态命名列
- sql - SQL Server 和优化公用表表达式
- android - Fultter Video Plugin 无法处理异常“未处理的异常:PlatformException(通道错误,无法在通道上建立连接。”
- java - “make clean all run”有效,但 Eclipse 上的项目无法运行
- python - Python:如何跳过地图函数中的元素
- android - 从 Native C++ 代码调用 ADB 命令并以字符串形式获取结果
- c++ - 不能 QOverload 私有信号,使用 Qt 文档示例
- wpf - 如果我从一个 IsEditable="True" 的 ComboBox 切换到另一个 ComboBox,WPF 中 DataGrid 的 SelectedItem 不会触发