Flutter:使用 Grid 拖放

标签 flutter mobile drag-and-drop flutter-layout

我想创建一个小部件,您可以在其中添加多个不同大小的小部件,并可以使用拖放技术更改它们的位置。类似于带有拖放功能的 GridView ,您可以在其中水平和垂直更改位置。当您拖动选定的小部件时,其他小部件将四处移动以为其打开空间。

有没有人有任何建议从哪里开始,或者已经有一些例子可以实现我正在寻找的东西?

最佳答案

你也可以试试这个更简单的(不包括反馈)

enter image description here

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(home: Scaffold(body: HomePage()));
  }
}

class HomePage extends StatefulWidget {
  @override
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  Offset offset = Offset.zero;

  @override
  Widget build(BuildContext context) {
    return Stack(
      children: <Widget>[
        Positioned(
          left: offset.dx,
          top: offset.dy,
          child: GestureDetector(
            onPanUpdate: (details) {
              setState(() {
                offset = Offset(offset.dx + details.delta.dx, offset.dy + details.delta.dy);
              });
            },
            child: Container(width: 100, height: 100, color: Colors.blue),
          ),
        ),
      ],
    );
  }
}

关于Flutter:使用 Grid 拖放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50255869/

相关文章:

flutter - 在 flutter 行/列中独立对齐元素

java - D'n'D 上的重影图像从 canvas 2d 到 canvas 3d

mobile - Movilizer - queryMasterdata 使用like

html - 在 BlackBerry OS6 上隐藏浏览器地址栏

javascript - 拖放到 Safari 5 中会产生意外的文件名

java - 禁用或拦截窗外的掉落

android - 我可以使用 Android studio Avd 管理器在 Windows 上运行 iOS 模拟器吗?

Flutter TextEditingController clear 不会重置错误信息

flutter - 如何在 Flutter 中更改 CupertinoNavigationBar 中后退按钮的颜色

android - 需要众包 Android 应用技术提示