- 获取组件宽度方法
//为组件设置key
GlobalKey _appbarKey = new GlobalKey();
//在需要获取的组件中使用该key
SizedBox(
width: 123,
height: 123,
key: _appbarKey,
child: Container(
color: Colors.amber,
),
),
ElevatedButton(
onPressed: () {
RenderBox? renderBox = _appbarKey.currentContext
?.findRenderObject() as RenderBox;
print(renderBox.size.height); // 组件高
print(renderBox.size.width); // 组件宽
},
child: Text('学习宽度获取')),
//在点击 ElevatedButton 会打印出 SizedBox 组件的宽高
//flutter: 123.0
//flutter: 123.0
2.获取设备宽高方法
final size =MediaQuery.of(context).size;
final width =size.width;
final height =size.height;
//还有一种是直接使用 dart:ui 包中的 window 对象,//这种方法使用起来也比较简单,如下:
import ‘dart:ui’;
final width = window.physicalSize.width;
final height = window.physicalSize.height;