目录概述
什么是Widget?
在Flutter的世界中,一切都是Widget,即一切都是组件
why? 为什么一切都是组件,怎么理解呢?
你可以理解为在Flutter中一切都可以通过组合的方式实现,对于我们开发者,只需声明,或者说告诉框架这个组件是什么,它要怎么显示,携带了哪些参数,而Widget 就是用来帮你承载配置的东西。
按照传统的 Android 开发思想,在Android中,ui组件就是普通的一个组件,我声明什么显示什么,所见即所得, 而在Flutter中,widget 不仅可以表示ui 组件,也可以表示一些功能性组件,比如可以用于手势监测的 widget(这在Android中相当于一个功能类),或者说用于app主题传递的 Theme等。所以我们可以理解为, widget就是一个控件,在Flutter里,任意都可以通过其实现。
Widget和Element
在Flutter中,如果用官方的解释,Widget 仅仅是一个描述显示元素的配置数据(官方解释),而真正代表屏幕上显示元素的是 Element(相当于一个纽带,用于连接widget和具体渲染的一个中间人) ,所以可以理解为,**widget只是ui元素的一个配置数据,并且一个widget可以对应多个Element.**这是因为在实际渲染时,UI