Flutter是否能够在运行时动态加载和构建窗口小部件?

时间:2019-09-04 18:52:01

标签: flutter dart flutter-layout

是否可以在运行时在服务器上存储多个dart文件并检索其中的任何一个文件,以使Flutter能够从接收到的文件中构建特定的小部件?

1 个答案:

答案 0 :(得分:4)

不能,不能动态加载dart文件或创建新类。

另一方面,小部件树是在运行时创建的,并且小部件自然是可组合的。因此,完全有可能创建一个将一些数据反序列化为小部件树的功能。

例如,我们可以将小部件树编写为xml / yaml /,就像这样:

type: Row
children:
  - type: Container
    color: red
    child:
      - type: Text
        0: hello world

并有一个将其反序列化为的函数:

Row(
  children: [
    Container(
      color: Colors.red,
      child: Text('hello world'),
    ),
  ],
),