import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
final title = 'Reorderable List';
return MaterialApp(
title: title,
home: Scaffold(
appBar: AppBar(
title: Text(title),
),
body: ReorderableListView(
children: <Widget>[
ListTile(
key: ValueKey('Item 1'),
title: Text('Item 1'),
),
ListTile(
key: ValueKey('Item 2'),
title: Text('Item 2'),
),
// 更多的列表项...
],
onReorder: (int oldIndex, int newIndex) {
// 更新数据源以反映新的顺序
},
),
),
);
}
}
这段代码创建了一个简单的应用,其中包含了一个可重排的列表。每个列表项都是一个ListTile
,并且每个ListTile
都有一个唯一的ValueKey
以帮助Flutter追踪列表中的项。onReorder
回调函数需要实现以更新数据模型以反映新的排序。这个例子展示了如何使用ReorderableListView
来实现一个基本的列表重排界面。