flutter 获取widget的位置

第一步 声明key : 类似于TextField的Texteditcontroller

GlobalKey _key = GlobalKey();

在需要获取position,size的widget中赋值key属性

child: CustomPaint(
                key: _key,
                painter: _BoardPainter(
                    width: rowCount, height: columnCount, dotList: _dotList),
                size: Size(300, 300),
              ),

 

 

在需要获position,size的地方使用以下代码获取值

//获取position
RenderBox box = _key.currentContext.findRenderObject();
Offset offset = box.localToGlobal(Offset.zero);

//获取size
Size size = box.size;

 

你可能感兴趣的:(Flutter)