Flutter 可以使用 Draggable 和 DragTarget 组件来实现拖拽和删除的功能。
Draggable 组件可以将一个组件设置成可拖拽,并且提供了回调函数,便于监听拖拽事件。
DragTarget 组件则可以将一个组件设置成拖拽目标,并且提供了回调函数,便于在拖拽到指定目标区域时执行删除操作。
具体实现方法:
代码示例:
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
class _MyHomePageState extends State<MyHomePage> {
List<String> items = ['Item 1', 'Item 2', 'Item 3'];
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: items.map((item) {
return Draggable(
data: item,
child: Container(
color: Colors.blue[100],
height: 50,
width: 100,
child: Center(
child: Text(
item,
style: TextStyle(color: Colors.white),
feedback: Container(
color: Colors.blue[200],
height: 50,
width: 100,
child: Center(
child: Text(
item,
style: TextStyle(color: Colors.white),
childWhenDragging: Container(
height: 50,
width: 100,
color: Colors.grey[300],
onDragEnd: (details) {
print(details.wasAccepted);
}).toList(),
以上代码只是一个拖拽的简单示例,实际情况可能更复杂。