Reputation: 1386
RenderBox gives the opportunity to overide paint() method. But how to build() Widget from that RenderBox?
Upvotes: 4
Views: 3094
Reputation: 277167
Instead of StatefulWidget
or StatelessWidget
you can subclass SingleChildRenderObjectWidget
(or similar)
class MyWidget extends SingleChildRenderObjectWidget {
@override
MyRenderBox createRenderObject(BuildContext context) {
return new MyRenderBox(title: "bar");
}
@override
void updateRenderObject(BuildContext context, MyRenderBox renderObject) {
renderObject.title = "foo";
}
}
class MyRenderBox extends RenderBox {
String title;
MyRenderBox({this.title});
}
A few other interesting subclasses are LeafRenderObjectWidget
and MultiChildRenderObjectWidget
Upvotes: 4