Flutter

Flutter控件之RenderObjectWidget

2022-02-11  本文已影响0人  dushiling

RenderObjectWidget为RenderObjectElement提供配置信息。
RenderObjectElement包装了RenderObject,RenderObject为应用程序提供真正的渲染。
RenderObjectWidget是个抽象类。

abstract class RenderObjectWidget extends Widget {                                                                     
                                    
 const RenderObjectWidget({ Key key }) : super(key: key);                                                             
                                                                                                                      
 /// RenderObjectWidgets always inflate to a [RenderObjectElement] subclass.                                          
 @override                                                                                                            
 RenderObjectElement createElement();                                                                                 
                                                                                                                      
 /// 使用`RenderObjectWidget`信息,
 ///创建一个`RenderObjectWidget`表示的`RenderObject`实例。
 ///创建时机:
 ///`[RenderObjectElement.mount]`方法中使用`RenderObjectElement`创建。
///挂载时,调用关联的此`widget`创建其对应的`RenderObject`                                                  
 @protected                                                                                                           
 RenderObject createRenderObject(BuildContext context);                                                               
                                                                                                                      
 /// 复制此[RenderObjectWidget]描述的配置到给定的[RenderObject],
 ///此`RenderObject`类型将与此`RenderObjectWidget`的
///[createRenderObject]返回的`RenderObject`类型相同。                                                                                                                                                                                
 /// 调用时机:[RenderObjectElement.update]                                                
 @protected                                                                                                           
 void updateRenderObject(BuildContext context, covariants RenderObject renderObject) { }                               
                                                                                                                      
 ///此`widget`前一个关联的`RenderObject`已经从树中移除。
 ///此处的`RenderObject`是其的一个副本。                                                       
 @protected                                                                                                           
 void didUnmountRenderObject(covariant RenderObject renderObject) { }                                                 
}                                      
RenderObjectWidget.png
上一篇 下一篇

猜你喜欢

热点阅读