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