flutter的widget可以分為三類毕箍,組合類ComponentWidget、代理類ProxyWidget和繪制類RenderObjectWidget
組合類:如Container、Scaffold攒巍、MaterialApp還有一系列通過繼承StatelessWidget和StatefulWidget的類蹦哼。組合類是我們開發(fā)過程中用得最多的組件。
代理類:InheritedWidget蹂午,功能型組件栏豺,它可以高效快捷的實現(xiàn)共享數(shù)據(jù)的跨組件傳遞。如常見的Theme豆胸、MediaQuery就是InheritedWidget的應用奥洼。
繪制類:屏幕上看到的UI幾乎都會通過RenderObjectWidget實現(xiàn)。通過繼承它晚胡,可以進行界面的布局和繪制灵奖。如Align、Padding估盘、ConstrainedBox等都是通過繼承RenderObjectWidget瓷患,并通過重寫createRenderObject方法來創(chuàng)建RenderObject對象,實現(xiàn)最終的布局(layout)和繪制(paint)遣妥。只有「Renderer Widget」有與之一一對應的「Render Object」擅编。
http://zxfcumtcs.github.io/2020/05/01/deepinto-flutter-widget/