Flutter 那一般我们可以怎么获取布局的大小和位置呢

通过key去获取到控件的BuildContext,而我们知道BuildContext的实现其实是Element,而Element持有RenderObject,所以我们知道的RenderObject,实际上获取到的就是RenderBox,那么通过RenderBox我们就可以获取大小跟位置.

 showSizes() {
    RenderBox renderBoxRed = fileListKey.currentContext.findRenderObject();
    print(renderBoxRed.size);
  }

  showPositions() {
    RenderBox renderBoxRed = fileListKey.currentContext.findRenderObject();
    print(renderBoxRed.localToGlobal(Offset.zero));
  }

你可能感兴趣的:(Flutter 那一般我们可以怎么获取布局的大小和位置呢)