簡體   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