小编zon*_*on7的帖子

Flutter Stack 变化深度

我有一个带有 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)

dart flutter

6
推荐指数
1
解决办法
2036
查看次数

标签 统计

dart ×1

flutter ×1