flutter get 获取widget的高度
时间: 2023-09-07 10:01:49 浏览: 286
在Flutter中,我们可以通过使用GlobalKey来获取Widget的高度。
步骤如下:
1. 首先,我们需要创建一个GlobalKey对象。例如,我们可以在StatefulWidget的构造函数中创建GlobalKey对象。
```dart
GlobalKey _key = GlobalKey();
```
2. 接下来,在我们需要获取Widget高度的地方,使用key属性将GlobalKey绑定到相应的Widget上。
```dart
Container(
key: _key,
child: Text('Widget'),
)
```
3. 之后,我们可以使用GlobalKey对象调用context.findRenderObject()方法获取与该Widget关联的RenderBox对象。
```dart
RenderBox renderBox = _key.currentContext.findRenderObject();
```
4. 最后,我们可以通过RenderBox对象的size属性获取Widget的高度。
```dart
double widgetHeight = renderBox.size.height;
```
这样,我们就能够成功获取到Widget的高度了。
需要注意的是,获取Widget高度的代码应当在Widget布局完成之后才能执行,因此最好在WidgetsBinding的addPostFrameCallback回调中进行高度获取。这样可以确保在Widget渲染完成后再执行获取高度的操作。
阅读全文