首页 > 解决方案 > 颤振 - 如何使用颤振可拖动/拖动目标将图像放置在图像内

问题描述

大家好,我目前正在为我在大学的最后一个项目使用颤振开发一个拖动游戏。

图像的可拖动功能似乎运行良好(我使用抽屉放置图像)

child: Container(
        width: 200,
        child: Drawer(
          child: ListView(
            padding: EdgeInsets.all(10.0),
            children: _theList
                .map(
                  (data) => ListTile(
                    title: LongPressDraggable<int>(
                      data: 1,
                      child: Image(
                        image: AssetImage(data),
                        color: const Color.fromRGBO(255, 255, 255, 0.6),
                        colorBlendMode: BlendMode.modulate,
                        height: 100,
                        fit: BoxFit.contain,
                      ),
                      // onTap: () {
                      //   Navigator.pop(context);
                      // },
                      feedback: Image(
                        image: AssetImage(data),
                        height: 100,
                        fit: BoxFit.contain,
                      ),
                      childWhenDragging: Container(),
                    ),
                  ),
                )
                .toList(),
          ),
        ),
      ),

dragTarget是放置在中心的图像子元素gestureDetector小部件

Container(
          margin: EdgeInsets.fromLTRB(0, 0, 104, 140),
          child: GestureDetector(
            onTap: () => setState(() {
              _theList = _listLauk;
              _openDrawer();
            }),
            child: Center(
              child: Image(
                image: AssetImage("assets/images/lauk.png"),
                width: 101,
                child: DragTarget(
                  builder:
                      (context, List<int> candidateData, rejectedData) {
                    return accepted
                        ? Image(
                            image: (data),
                            height: 30,
                            fit: BoxFit.contain,
                          )
                        : Container();
                  },
                  onWillAccept: (data) {
                    return true;
                  },
                  onAccept: (data) {
                    accepted = true;
                  },
                ),
              ),
            ),
          ),
        ),

但问题是图像子级无法处理其中的另一个子级,idk 将dragTarget放置在图像内是否错误,或者旁边可能有另一个替代方案

我真的需要你的帮助,谢谢

标签: flutterdraggabledragtarget

解决方案


推荐阅读