如何删除颤振ReorderableListView中的菜单图标

JS1*_*JS1 0 icons drag-and-drop list dart flutter

当我使用 flutter 创建ReordableListView时,默认会出现一些图标(在右侧):

在此输入图像描述

我想删除它们,因为我想在这个地方放置其他图标,当我这样做时,它会呈现这个(这显然不是我想要的):

在此输入图像描述

感谢您的帮助!

JS1*_*JS1 6

找到答案,我只需要在我的ReordableListView小部件中添加这一行:

buildDefaultDragHandles: false,
Run Code Online (Sandbox Code Playgroud)


Mif*_*zak 6

设置buildDefaultDragHandlesfalse并包装您的ListTile使用ReorderableDragStartListener以将您的项目设置为可拖动。

class MyStatefulWidget extends StatefulWidget {
  const MyStatefulWidget({Key? key}) : super(key: key);

  @override
  State<MyStatefulWidget> createState() => _MyStatefulWidgetState();
}

class _MyStatefulWidgetState extends State<MyStatefulWidget> {
  final List<int> _items = List<int>.generate(50, (int index) => index);

  @override
  Widget build(BuildContext context) {
    final ColorScheme colorScheme = Theme.of(context).colorScheme;
    final Color oddItemColor = colorScheme.primary.withOpacity(0.05);
    final Color evenItemColor = colorScheme.primary.withOpacity(0.15);

    return ReorderableListView(
      padding: const EdgeInsets.symmetric(horizontal: 40),
      // Set this false
      buildDefaultDragHandles: false,
      children: <Widget>[
        for (int index = 0; index < _items.length; index++)
          // Wrap using ReorderableDragStartListener
          ReorderableDragStartListener(
            key: Key('$index'),
            index: index,
            child: ListTile(
              tileColor: _items[index].isOdd ? oddItemColor : evenItemColor,
              title: Text('Item ${_items[index]}'),
            )
          ),
      ],
      onReorder: (int oldIndex, int newIndex) {
        setState(() {
          if (oldIndex < newIndex) {
            newIndex -= 1;
          }
          final int item = _items.removeAt(oldIndex);
          _items.insert(newIndex, item);
        });
      },
    );
  }
}
Run Code Online (Sandbox Code Playgroud)