Flutter Widget采用现代响应式框架构建,这是从 React 中获得的灵感,中心思想是用widget构建你的UI。 Widget描述了他们的视图在给定其当前配置和状态时应该看起来像什么。当widget的状态发生变化时,widget会重新构建UI,Flutter会对比前后变化的不同, 以确定底层渲染树从一个状态转换到下一个状态所需的最小更改(译者语:类似于React/Vue中虚拟DOM的diff算法)。
注意: 如果您想通过代码来深入了解Flutter,请查看 构建Flutter布局 和 为Flutter App添加交互功能。
Hello World
一个最简单的Flutter应用程序,只需一个widget即可!如下面示例:将一个widget传给runApp
函数即可:
import 'package:flutter/material.dart';
void main() {
runApp(
new Center(
child: new Text(
'Hello, world!',
textDirection: TextDirection.ltr,
),
),
);
}
该runApp
函数接受给定的Widget
并使其成为widget树的根。 在此示例中,widget树由两个widget:Center(及其子widget)和Text组成。框架强制根widget覆盖整个屏幕,这意味着文本“Hello, world”会居中显示在屏幕上。文本显示的方向需要在Text实例中指定,当使用MaterialApp时,文本的方向将自动设定,稍后将进行演示。
在编写应用程序时,通常会创建新的widget,这些widget是无状态的StatelessWidget
或者是有状态的StatefulWidget
, 具体的选择取决于您的widget是否需要管理一些状态。widget的主要工作是实现一个build
函数,用以构建自身。一个widget通常由一些较低级别widget组成。Flutter框架将依次构建这些widget,直到构建到最底层的子widget时,这些最低层的widget通常为RenderObject
,它会计算并描述widget的几何形状。
http://www.mulanzhichun.cn
http://www.huianters.cn
http://www.khoty.cn
http://www.burkepoohs.cn
http://www.eternelle.cn
http://www.jessiejanes.cn
http://www.yajuxuan.cn
http://www.kemaisii.cn
http://www.nodonkg.cn
http://www.dengyuandi.cn
http://www.luofuweier.cn
原文地址:https://www.cnblogs.com/zjhcap/p/11432221.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。