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, 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); }); }, ); } }
如何删除flutter ReorderableListView中的排序菜单图标
21 min read