Flutter笔记(2)flutter的widget一切皆为组件

2.怎么更形象的理解Widget呢?

  • 一个界面组件(输入框、按钮)

  • 一种布局(填充、滚动)

  • 一种手势处理(GestureDetector)

Widget和Android的布局控件一样,每个Widget都有丰富的属性和方法(颜色、大小、背景、边距等)。

每个Widget跟Android布局控件相似的都有回调方法处理(单击事件回调、手势事件回调等)

例如:

  • bottom:底部间距属性

  • left:左侧间距属性

  • right:右侧间距属性

  • toString:转换成字符串方法

等,以上还有很多方法和属性,自我们实际的应用中供我们来使用。如果Widget自带的属性不能满足我们项目设计的需求时,当然同我们Android和IOS一样,可以自定义Widget属性和方法。

3.必要时Widget需要自定义

如果你不是没有任何开发经验,那么你一定知道任何app里都有可能有重用性比较高的控件。所以对于那么重用性比较高的,或者需要你自定义的控件的,我们需要将它们给封装起来,以便下次或者其他app中继续使用。这个时候就可以自定义Widget封装起来,以供我们在其他的地方使用。

4.Widget的交互状态

如果Widget需要根据用户交互或其他原因进行更改,则此Widget是有状态的,情况如下:

  • Stateless widgets 无状态控件是不可变的, 这意味着它们的属性不能改变 - 所有的值都是最终的,使用的时候要继承StatelessWidget

  • statefullWidget有状态控件。持有的状态可在widget生命周期中发生变化实现一个 stateful widget 至少需要两个类:

(1)一个 StatefulWidget

(2)一个 State类。 StatefulWidget类本身是不变的,但是 State类在widget生命周期中始终存在,且可改变:

实现方式:

1.自定义一个类继承自statefulWidget

2.重写createState()方法,为该statefulWidget创建一个state对象

3.自定义一个状态类继承自State,重写build()方法,根据需要的逻辑处理返回widget,

build方法会在view状态改变时进行回调,重新渲染(自动响应式框架)

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助

因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
et/topics/618165277)

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值