gpt4 book ai didi

android - Flutter - 可以在 Flutter 应用程序中导入 fragment 吗?

转载 作者:行者123 更新时间:2023-12-03 13:25:37 33 4
gpt4 key购买 nike

在 Flutter 中可以调用 Java code from Dart .另外,插件android_intent允许启动 Java Android Activity使用 Dart 代码

但是,如果我们想在 Flutter Widget 中使用 Android Fragment,这可能吗?我们怎么能做到这一点?

或者使用 Fragments 的唯一方法是在 Java 中声明一个新的 Activity,并在 Flutter 中调用启动 Activity? (就像我一开始说的)

最佳答案

到目前为止,我找不到任何方法可以直接在 flutter 应用程序中以直接的方式实现 android 组件。然而,相反的事情也可能发生,即在 android 应用程序中使用 Flutter fragment 。所以我可以为你提出一个解决这个问题的方法,它可能会导致相同的结果:

  • 使用方法 channel 启动一个新的 android Activity :

  • void startAndroidActivity() async {
    //TODO: fix result type, etc.
    dynamic result = await MethodChannel("CHANNEL_X").invokeMethod('METHOD');
    }
    public class MainActivity extends FlutterActivity {

    private MethodChannel.Result result;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    new MethodChannel(getFlutterView(), "CHANNEL_X").setMethodCallHandler((call, result) -> {
    if (call.method.equals("METHOD")) {
    Intent intent = new Intent(this, MyActivity.class);
    this.result = result;
    startActivityForResult(intent, data);
    }
    });
    GeneratedPluginRegistrant.registerWith(this);
    }

    //TODO: Handle result

    }
  • 实现你的 android 组件并导入 flutter fragment 。对于这个主题,我给你留下这个引用:https://flutter.dev/docs/development/add-to-app/android/add-flutter-fragment

  • 我可以给你的另一个引用是这个,也许可以让你在 Flutter 中导入你想要的,但它需要更多的时间: https://medium.com/@KarthikPonnam/build-your-own-plugin-using-platformviews-flutter-5b42b4c4fb0a

    关于android - Flutter - 可以在 Flutter 应用程序中导入 fragment 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55248179/

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