每个 Flutter 开发者都需要知道的小部件

每个 Flutter 开发者都需要知道的小部件

在我之前的文章中,我谈到了使用 dart 编程语言进行 Flutter 的面向对象编程。 (这里是给没看过的人的链接: Dart 编程语言基础。什么是飞镖?飞镖是… |通过 Melike Balpınar | 2022 年 7 月 |中等的 )

这篇文章我将讨论每个开发者都需要了解的 Flutter 中的 4 个小部件。

Letter on we gonna work with other stuff now just we will cover on widgets

什么是小部件,为什么我们需要使用它?

小部件是基本的构建块,它是颤振应用程序框架的中心类层次结构,它根据应用程序的状态和配置定义应用程序的外观(用户界面的一部分)。

我们需要使用小部件,因为小部件用于确定基本渲染树从一种状态移动到另一种状态(管理底层渲染树)所需的最小状态更改。

在开始开发新的 Flutter 应用程序之前,让我们跳入一些我们需要了解的强大的 Flutter 小部件。

在启动小部件之前,一些有用的信息;

无状态和有状态小部件:

有状态小部件是一个动态小部件,它可以随时间改变外观(界面)以响应用户交互触发的事件(状态对象)或程序接收到任何数据时。

这是有状态小部件的代码示例:

 类 MyApp 扩展 StatefulWidget {  
 const MyApp({Key?key}) : super(key: key); @覆盖  
 状态<MyApp>createState() => _MyAppState();  
 }  
  
 _MyAppState 类扩展状态<MyApp>{  
 @覆盖  
 小部件构建(BuildContext 上下文){  
 返回容器();  
 }  
 }

与有状态的小部件不同,无状态的小部件永远不会改变。

无状态小部件是一个小部件,它通过构建其他小部件的星座来向我们展示用户界面的一部分,这些小部件更具体地向我们展示用户界面。

这是无状态小部件的代码示例:

**空白** 主() => 运行应用程序( **常量** 我的应用程序()); **班级** MyApp 扩展 StatelessWidget { **常量** MyApp({Key?key}) : super(key: key); @覆盖 小部件构建(BuildContext 上下文){ **返回** 容器(); }}

这是有状态小部件的一些示例:

  • 复选框
  • 单选按钮
  • 滑块
  • 墨水井
  • 形式
  • 文本域

无状态小部件的一些示例:

  • 图标
  • 图标按钮
  • 文本(只读)

安全区域小部件:

现在,应用程序很少有一个整洁的小矩形可以运行。例如,通知栏和控件可以悄悄进入,圆角和凹口会咬住我们的内容。这就是为什么 Flutter 有一个 safeArea 小部件的原因。

我们需要使用 MediaQuery 来检查设备屏幕的尺寸并填充其外壳以匹配我们也可以包裹脚手架的主体。这是一些代码示例:

Future 和 Stream Builder 小部件:

今天的现代应用程序是高度异步的,因为任何时候都可能在应用程序上发生任何事情。我们可以将此事件视为数据流,因此 StreamBuilder 将侦听来自流的事件流。对于每个新创建的事件,都将重建句子。

扩展小部件:

展开 小部件使一个孩子 , 柱子 , 或者 柔性 展开以填充沿主轴的可用空间(例如,水平 或垂直 柱子 )。

如果扩展多个孩子,它有点棘手,可用空间在它们之间根据 柔性 因素。

展开 小部件到其封闭 , 柱子 , 或者 柔性 必须只包含 无状态小部件 有状态的小部件 s。

灵活的小部件:

灵活的小部件,它控制基本 flex 小部件(Row、Column 和 Flex)的子级如何填充可用的空间。 Flutter 中的 Expanded 小部件是 Flexible 的简写,默认适合 FlexFit。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/3016/07533109

posted @ 2022-08-31 09:09  哈哈哈来了啊啊啊  阅读(185)  评论(0编辑  收藏  举报