我有一个带有 3 个定位小部件的堆栈,其中有一个 GestureDetector 作为孩子。我可以拖动它们,但我也想在您点击它时立即将点击的那个放在前面。我试过在父小部件中调用更改状态,但这也会交换受影响的小部件位置。
这是完整的示例代码(它是脚手架中的主体。任何帮助将不胜感激
class DragBox extends StatefulWidget {
final Offset startPosition;
final Color color;
final String label;
final Function bringToTop;
DragBox({
this.startPosition,
this.color: const Color.fromRGBO(255, 255, 255, 1.0),
this.label,
this.bringToTop
});
@override
DragBoxState createState() => DragBoxState();
}
class DragBoxState extends State<DragBox> {
Offset position;
Offset _startPos;
@override
void initState() {
position = widget.startPosition;
super.initState();
}
@override
Widget build(BuildContext context) {
return Positioned(
left: position.dx,
top: position.dy,
child: GestureDetector(
onScaleStart: (details) {
//Store start conditions
_startPos = details.focalPoint; …Run Code Online (Sandbox Code Playgroud)