Flutter 颤振可拖动列表项-未找到材料小部件

Flutter 颤振可拖动列表项-未找到材料小部件,flutter,Flutter,在没有任何关于拖放列表视图的烹饪书示例的情况下,我尝试创建自己的列表视图,但是当尝试拖动一行时,我得到了错误:找不到任何材质小部件。我尝试过用容器包装ListTiles,但似乎总是出现同样的错误 import 'package:flutter/material.dart'; void main() => runApp(new MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildC

在没有任何关于拖放列表视图的烹饪书示例的情况下,我尝试创建自己的列表视图,但是当尝试拖动一行时,我得到了错误:找不到任何材质小部件。我尝试过用容器包装ListTiles,但似乎总是出现同样的错误

import 'package:flutter/material.dart';

void main() => runApp(new MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    final title = 'Basic List';

    var tile1 = new ListTile(
      leading: new Icon(Icons.photo),
      title: new Text('Row 1'),
    );

    var tile2 = new ListTile(
      leading: new Icon(Icons.photo),
      title: new Text('Row 2'),
    );

    var tile3 = new ListTile(
      leading: new Icon(Icons.photo),
      title: new Text('Row 3'),
    );

    return new MaterialApp(
      title: title,
      home: new Scaffold(
        appBar: new AppBar(
          title: new Text(title),
        ),
        body: new ListView(
            children: [
              new Draggable(child: tile1, feedback: tile1),
              new Draggable(child: tile2, feedback: tile2),
              new Draggable(child: tile3, feedback: tile3),
            ],
        ),
      ),
    );
  }
}

也许,这不是最好的解决方案,但它适合我

Draggable(
  axis: Axis.vertical,
  maxSimultaneousDrags: 1,
  child: tile,
  childWhenDragging: Opacity(
    opacity: 0.5,
    child: tile,
  ),
  feedback: Material(
    child: ConstrainedBox(
      constraints:
          BoxConstraints(maxWidth: MediaQuery.of(context).size.width),
      child: tile,
    ),
    elevation: 4.0,
  ),

我已在
ConstrainedBox
中用screensize的宽度包装了平铺。

尝试包装一个类。谢谢,这清除了该错误,但引入了另一个错误:
在performLayout()期间抛出了以下断言: