繁体   English   中英

将 Flutter 应用程序集成到另一个 flutter 应用程序

[英]Integrate a Flutter app in to another flutter app

我有一个名为 X 的较大应用程序,还有另一个名为 Y 的较小应用程序。它们现在彼此分开并且工作正常。 我想将应用 Y 集成到 X 中。我想将 Y 的代码放入 X 项目中,但它们应该有不同的 Main 以便我可以设置不同的主题和路线。 有没有办法做到这一点?

////更新////

我赞成所有答案,因为它们都是正确的。

但如果你知道这个,请回答。 我正在使用 GetX 的 GetMaterialApp 而不是 MaterialApp。 它返回错误

'package:flutter/src/widgets/framework.dart':断言失败:第 5334 行 pos 14:'_dependents.isEmpty':不正确。

我怎样才能解决这个问题?

您可以在您的项目中使用多个MaterialApp() ,组合代码/文件,就像应用程序在另一个屏幕上一样,您将导致应用程序对其InheritedWidget有不同的引用,例如ThemeNavigatorMediaQuery ...

 /*...*/
 MaterialApp(
 /*...*/
   home: AppXHome(),
  ),
 /*...*/

class AppXHome extends StatelessWidegt {  
 @override
 Widget build(BuildContext context) {
  return Column(
   children: <Widget>[
   Container(),
   Container(),
   MaterialApp(
   home: AppYHome(),
     ),
    ],
   ),}}

您可以使用两个 MaterialApp 小部件来定义单独的路由,一个用于您的 APP X,另一个用于您的 APP Y,Main function 将保持不变,无需更改,

只需在 APP X 中为应用程序 Y 创建一个路由,并将您的应用程序 Y 代码包装在另一个 MaterialApp 小部件中,您可以在其中为应用程序 Y 定义路由。

即使你将一个或多个应用集成到另一个应用中,整个合并后也必须只有一个main

所以需要把对方的主要逻辑移到当前的,再处理主题。

您可以利用此示例,其中包含三个带有自定义主题的不同应用程序

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM