Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Flutter - How to create widget that display RenderBox component?

Tags:

flutter

dart

RenderBox gives the opportunity to overide paint() method. But how to build() Widget from that RenderBox?

like image 446
Serge Breusov Avatar asked Nov 03 '25 03:11

Serge Breusov


1 Answers

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

like image 195
Rémi Rousselet Avatar answered Nov 04 '25 18:11

Rémi Rousselet



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!