onConfiguration移动到 1/3 屏幕宽度时更改时未调用



我正在更新我的安卓应用以支持安卓 7 中的多窗口模式。由于应用程序已经处理了 onConfigurationChanged 中的旋转更改,因此我想以相同的方式处理窗口大小更改。因此,我更新了 AndroidManifest.xml,为我的活动包含android:configChanges="orientation|keyboard|keyboardHidden|screenSize|screenLayout"

在调整窗口大小时,这将按预期工作,因此我的应用程序占据屏幕的 2/3 或 1/2:调用 onConfigurationChanged,并且我的活动不会重新启动。但是,当我将我的应用程序大小调整为 1/3 屏幕大小或从屏幕大小调整时(因此我的应用程序仅占用屏幕的 1/3,而另一个应用程序占用剩余的 2/3(,该应用程序的行为就像我没有这些 configChanges 值一样:不调用 onConfigurationChanged,并且我的活动重新启动。

我检查了 configChanges 的可能值,但没有看到任何其他看起来相关的值。

它有什么理由以这种方式工作,还是这是一个 Android 错误?我在Google Pixel C平板电脑上运行Android 7.1.2。

根据准备多窗口博客文章,处理多窗口所需的最小configChanges集是:

android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"

您缺少smallestScreenSize ,这发生在活动的最小宽度更改时。

最新更新