flutter 获取widget的位置

本文详细介绍了在Flutter中如何使用全局Key来获取Widget的位置和大小,通过实例展示了如何声明和使用GlobalKey,以及如何在需要获取position和size的widget中赋值key属性,并提供了具体的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一步 声明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;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值