问题 :
我正在尝试在 a 中缩放小部件,
Stack
但这似乎不起作用。解决方案是添加
constrained: false
到InteractiveViewer
.但是随后,它会抛出错误,说“小部件具有无限大小”,这要归功于
constrained: false
. 因为它消除了所有约束InteractiveViewer
我也尝试过包装
Stack
,每个都canvasElement
用Container
orSizedBox.shrink
但两者似乎都不起作用。
目标 :
- 目标是能够在一个
Stack
这是我的代码:
- 注意:我已删除
GestureDetector
,否则代码将太长而无法阅读
class _EditorState extends State<Editor> {
List<Widget> _canvasElements = [];
List<Offset> _canvasElementOffsets = [];
@override
void initState() {
super.initState();
_canvasElements.add(Text('Scale me'));
_canvasElementOffsets.add(Offset(150, 250));
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Stack(
children: List.generate(
_canvasElements.length,
(index) => Positioned(
left: _canvasElementOffsets[index].dx,
top: _canvasElementOffsets[index].dy,
child: InteractiveViewer(
minScale: 0.5,
maxScale: 5,
constrained: false,
child: _canvasElements[index],
),
),
),
),
);
}
}
小部件正在移动但不缩放: