build method
- BuildContext context
override
The build function used to intercept and measure the build cycle.
Implementation
@override
Widget build(BuildContext context) {
log("measuredSize build $context");
_saveContext = context;
WidgetsBinding.instance.addPostFrameCallback((_) {
log("measuredSize.post ${_saveContext.size} $offstage ${_saveContext.runtimeType}");
if (offstage) {
RenderObject ro = (_saveContext as Element).renderObject;
bool bVisited = false;
ro.visitChildren((_) {
//log("measureSize.visitChildren ${_.runtimeType}");
if (_ is RenderBox && !bVisited) {
//log("visitChildren size ${_.hasSize} ${_.size} ${_.paintBounds}");
bVisited = true;
callback(_.size);
}
});
} else {
callback(_saveContext.size);
}
});
return child;
}