flutter [Android] 维护当前(Android < 35)SystemUiMode行为在Android >= 35

9fkzdhlc  于 4个月前  发布在  Flutter
关注(0)|答案(4)|浏览(45)

根据文档,边缘到边缘将成为针对Android 15/35或更高版本的应用程序的默认布局模式。为了避免在开始针对SDK 35+或运行在Android 15设备上的Flutter应用程序完全中断后,我们需要确保当前的非边缘到边缘system UI modes与以前的工作方式相同。这意味着对于这些系统UI模式,我们必须确保禁用边缘到边缘。
此外,我们应该改变我们的逻辑,以便选择使用推荐的EdgeToEdge API而不是自己设置已弃用的窗口标志;参见official recommendation

jvidinwx

jvidinwx1#

注意:首先,将Flutter应用更改为默认禁用边缘到边缘模式,然后尝试使用更新的方式来使用边缘到边缘模式。

pepwfjgg

pepwfjgg2#

https://developer.android.com/reference/android/R.attr#windowOptOutEdgeToEdgeEnforcement is what we'll need to opt Flutter apps out of edge-to-edge but this will require a check that API 35 is the SDK in use. We'll need to call it before any calls to super.OnCreate is called in onCreate implementations.

8oomwypt

8oomwypt3#

为这一步进行测试,应编写Golden测试以确保在更改之前/之后的行为是我们所期望的。

h4cxqtbf

h4cxqtbf4#

首先,我们将专注于为系统UI模式编写测试,因为在Flutter引擎中使用Android样式已经变成了一个复杂的任务,不应该阻止我们确保为Android更改做好准备,包括测试和文档( flutter/website#10755 )。

相关问题