gpt4 book ai didi

android - flutter 插件 : detect orientation change in native (android) side

转载 作者:IT王子 更新时间:2023-10-29 07:15:33 34 4
gpt4 key购买 nike

我正在为 Flutter 编写一个支持平台 View 的插件,它在渲染期间使用 OpenGL。当方向发生变化时,我需要更新 EGL 上下文以引用实际的窗口支持渲染上下文。

但是我如何检测方向变化(例如在 PlatformView 子类型中)?

已实现 Application.ActivityLifecycleCallbacks在将 then 附加到 Application 之后,方法似乎根本不会在旋转时被调用实例。

最佳答案

您没有通过 Activity 生命周期回调获得方向更改回调的原因是,在您的 list 文件中,您可以看到

android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"

这可以防止您的 Activity 在 native Android 生命周期的方向更改时重新创建。你应该做的是,使用 OrientationBuilder

例如

OrientationBuilder(
builder: (context, orientation) {
return GridView.count(
// Create a grid with 2 columns in portrait mode,
// or 3 columns in landscape mode.
crossAxisCount: orientation == Orientation.portrait ? 2 : 3,
);
},
);

更多信息请查看https://flutter.dev/docs/cookbook/design/orientation

关于android - flutter 插件 : detect orientation change in native (android) side,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57475128/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com