Search code examples
flutterdartdrop-down-menucastingrender

Flutter cast RenderObject to RenderBox


I am trying to follow this tutorial creating a DropDown. But I can not copy his code because Flutter 2.0 is forbidding it because of these lines:

  void findDropdownData() {
    RenderBox renderBox = actionKey.currentContext!.findRenderObject()!;
    height = renderBox.size.height;
    width = renderBox.size.width;
    Offset? offset = renderBox.localToGlobal(Offset.zero);
    xPosition = offset!.dx;
    yPosition = offset.dy;
  }

As you can see I tried do add some ! and ? but it is still not working. The main issue is that findRenderObject returns RenderObject but I need it to be a RenderBox... Any idea what's wrong here? Can not figure it out..


Solution

  • The solution was easier than I thought:

    simply use as like this:

    RenderBox renderBox =
        actionKey.currentContext!.findRenderObject()! as RenderBox;