Flutter入门并开发天气预报APP(3)——Widget

本文介绍了Flutter中的Widget概念,强调其在UI设计中的核心地位。讲解了无状态Widget(StatelessWidget)和有状态Widget(StatefulWidget)的区别,以及如何使用它们来构建动态界面。在StatelessWidget部分,展示了如何创建和使用此类Widget。对于StatefulWidget,解释了其状态管理和如何通过State类更新界面,给出了示例代码来说明其工作原理。
摘要由CSDN通过智能技术生成

1. 简介

在Flutter中,Widget是个非常基本的东西,我在上一章就说过,Flutter中只要是界面都是Widget,你可以把它就理解成是控件,但是又和Android的View控件不同的是,在Flutter中,包括PaddingAlign、手势检测的GestureDetector等等,都算是Widget

其实大多数时候,你就可以把Widget直接理解成UI控件就行了,因为PaddingAlignGestureDetector等等也都是为UI服务的,你就可以理解成Flutter中只要与UI有关的属性都可以算是控件。

2. Widget的状态

在Android中,我们可以直接通过更新数据来达到刷新UI的目的。但是如果使用Flutter,就像我们前面说的计数器的Demo,如果直接通过StatelessWidget也就是无状态Widget的话,是没法进行刷新UI的,只能写一个死界面,也就是说如果在Flutter中界面写出来的就是一个死界面,只有通过刷新状态才能更新UI。

Widget有两个直接子类:StatelessWidgetStatefulWidget

  • StatelessWidget:这个是无状态Widget,实现build()方法后,就不可再变化,哪怕他的状态改变了。这句话可能有点矛盾,但是我来举个例子,比方说现在有一个StatelessWidget,他的内容就是一个Text,而这个Text的内容则显示了counter这个变量。当这个页面出现的时候,取了当时counter的值并显示了出来,但是我们后续不管counter这个值怎么改变,界面都是不会显示出来的。
  • StatefulWidget:这个是有状态Widget,当你有状态需要改变的时候就可以通过他来改变状态。

State的几种状态:

名称 状态
initState create之后被insert到渲染树时调用的,只会调用一次
didChangeDependencies state依赖的对象发生变化时调用
didUpdateWidget Widget状态改变时候调用,可能会调用多次
build 构建Widget时调用
deactivate 当移除渲染树的时调用
dispose Widget即将销毁时调用

3. StatelessWidget

这个类相对简单,只需要实现build()方法就可以了。

StatelessWidget用于不需要维护状态的场景,也就是说如果他需要显示的某一个参数的值发生变化了他也不变。

class Test extends StatelessWidget {
   
  Test({
   Key key, this.title
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值