【问题标题】:portrait orientation is ignored on Nexus 5X (SDK 7)在 Nexus 5X (SDK 7) 上忽略纵向
【发布时间】:2017-12-22 16:47:59
【问题描述】:

我所有的活动都是纵向的,并且在 Nexus 5X 上有一个奇怪的行为:

  1. 横向移动设备
  2. 我点击我的应用程序以显示一个新活动
  3. 此新闻 Activity 以横向模式显示 1 秒,然后自动以纵向模式显示...

所有活动都扩展了一个基类:

@Override
    protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
     ...

我没有在清单中设置任何内容。

你们有什么解释吗?

【问题讨论】:

  • 您在 onCreate() 中使用 setRequestedOrientation() 而不是清单中的 android:screenOrientation attr 是否有某些原因?
  • 没有理由。您认为清单化与程序化相比更好吗?
  • @anthony 你找到解决方案了吗?我在 Nexus 设备上面临同样的问题。根据我的要求,我不想在 Manifest 中设置方向

标签: android screen-orientation


【解决方案1】:

来自the documentation for Activity.setRequestedOrientation()

如果 Activity 当前处于前台或以其他方式影响屏幕方向,屏幕将立即更改(可能导致 Activity 重新启动)。

这意味着您的活动可以以不同的方向开始,然后以您请求的方向重新开始。

如果您改用the android:screenOrientation attribute,则不会发生这种情况。

【讨论】:

  • 我在 Nexus 5X (Android 8.1) 上遇到问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-19
  • 2014-02-12
  • 2023-01-30
  • 2017-02-18
  • 2014-09-15
  • 1970-01-01
相关资源
最近更新 更多