更改对话框的方向

问题描述 投票:0回答:2

我有一个问题。我有一个应用程序,它在manifest.xml 中设置了固定方向(纵向)。

android:screenOrientation="portrait"

但我确实想更改

Dialog
的方向,它是我在片段之一中以编程方式创建的。问题是,由于我的清单声明,
super
方法
onConfigurationChanged(Configuration newConfig)
从未被调用过。

是否可以检测到手机已被转动并更改对话框的方向(而不像平常那样破坏/重新创建所有内容)?

编辑:

Activity
Fragments
应保持纵向模式,
Dialog
应检测变化并确定方向”

希望这个问题是可以理解的;)

谢谢!

android dialog android-orientation
2个回答
0
投票

我认为一个可行的解决方案是删除 android:screenOrientation 标签,然后重写 onConfigurationChanged() 方法来执行您需要的操作。


0
投票

我们必须在从服务启动的全屏对话框中执行此操作。

override fun onStart() {
    window?.attributes?.screenOrientation = SCREEN_ORIENTATION_PORTRAIT
    super.onStart()
}

而且效果很好

© www.soinside.com 2019 - 2024. All rights reserved.