【问题标题】:What is the relationship betwen Class and Widget in flutter?Flutter中Class和Widget是什么关系?
【发布时间】:2020-03-28 13:44:01
【问题描述】:

因为 Flutter 中有大量的小部件、类和属性。 所以我在 Widgets 属性和某些类属性之间感到困惑。在实现过程中我们应该如何映射 Widget 和 Propery。因为在某些情况下,我们映射为 Widget -> Property -> 然后 Widget。另一种情况是 Scaffold 有一个 appBar 属性 有一个 AppBar() 构造函数。

我们是否需要记住 Flutter 中每个小部件中所有不同类型的情况,或者有任何技术可以理解这种模式?

所以当我们可以实现构造函数或属性来执行任务时。这很混乱。

为了理解 Widgets 、 Property 、 Constructor 到 implementations 之间正确的各种映射,我摸不着头脑。

“非常感谢您在这种情况下的帮助。”

【问题讨论】:

    标签: android flutter dart android-widget flutter-layout


    【解决方案1】:

    Flutter 中,所有的小部件都是使用类创建的。 Flutter 有很多小部件,您需要找到适合您的情况的小部件。

    您可以按类别找到很多小部件here

    每个小部件都有自己的属性,借助属性,您可以使用小部件自定义设计、形状或颜色。

    示例: 应用栏具有应用栏名称的标题、应用栏标题图标的前导属性、更改应用栏颜色的 backgroundColor 属性。

    您不需要记住所有小部件的所有属性。因为 Flutter 是开源的,所以如果你使用的是 Android StudioVS Code。 您可以通过按 ctrl 并将鼠标悬停在特定小部件上或在光标位于小部件内时按 ctrl+ 空格来查看小部件的所有属性。

    您还可以创建自己的小部件并在您的应用程序中使用它。

    【讨论】:

      【解决方案2】:

      你用 dart 语言编写类,这是面向对象的语言。

      Flutter 采用这些类并制作 Widget,它们由元素树保存。元素树还包含与有状态小部件关联的状态对象。

      如果我们看一下 runApp func 调用(flutter 应用的起点)

      void runApp(Widget app) {
        WidgetsFlutterBinding.ensureInitialized()
          ..scheduleAttachRootWidget(app)
          ..scheduleWarmUpFrame();
      }
      

      它设置您的根小部件,然后使用通过嵌套小部件制作的子线性小部件到达底部。

      sublinear widget making

      希望有帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-26
        • 1970-01-01
        • 1970-01-01
        • 2014-03-14
        • 2013-06-14
        • 2018-02-16
        相关资源
        最近更新 更多