Flutter 获取设备和组件宽高方法

674 阅读1分钟
  1. 获取组件宽度方法
//为组件设置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 对象,//这种方法使用起来也比较简单,如下:
importdart:ui’;

final width = window.physicalSize.width;
final height = window.physicalSize.height;