栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

获取相对于小部件的分接位置

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

获取相对于小部件的分接位置

您可以使用

RenderBox.globalToLocal
方法将全局坐标转换为局部坐标。为了得到
RenderBox
,你可以调用
findRenderObject
BuildContext

--- a/lib/widgets/temp_picker.dart+++ b/lib/widgets/temp_picker.dart@@ -41,7 +41,12 @@ class _TempPickerState extends State<TempPicker> {     return new Container(       constraints: new BoxConstraints.expand(),       child: new GestureDetector(-        onPanUpdate: (details) => setState(() => _tapPos = details.globalPosition),+        onPanUpdate: (details) {+          setState(() {+ RenderBox box = context.findRenderObject();+ _tapPos = box.globalToLocal(details.globalPosition);+          });+        },         child: new CustomPaint(painter: new _TempPainter(  minValue: widget.minValue,

不过,这还不太正确,因为当设备旋转且

TempPicker
窗口小部件的大小更改时,它可能会表现出异常情况。
_tapPos
建议您计算并保存
getAngleFromPosition
in
的结果,
onPanUpdate
并将该角度值传递给
_TempPainter
构造函数,而不是将局部偏移存储在中。这样,只要用户当前未触摸屏幕,角度就可以在屏幕尺寸改变时保持不变。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/399914.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号