Android应用-Flutter实现丝滑的滑动删除、移动排序等-Dismissible控件详解
在Flutter中,Dismissible
控件用于创建可以通过滑动来删除或进行其他操作的列表项。以下是一个简单的使用示例:
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Center(
child: DismissibleItemList(),
),
),
);
}
}
class DismissibleItemList extends StatefulWidget {
@override
_DismissibleItemListState createState() => _DismissibleItemListState();
}
class _DismissibleItemListState extends State<DismissibleItemList> {
final List<String> items = List.generate(20, (i) => 'Item ${i + 1}');
@override
Widget build(BuildContext context) {
return ListView.builder(
itemCount: items.length,
itemBuilder: (context, index) {
return Dismissible(
key: Key(items[index]),
onDismissed: (direction) {
setState(() {
items.removeAt(index);
});
},
child: ListTile(title: Text('${items[index]}')),
background: Container(color: Colors.red),
);
},
);
}
}
在这个例子中,我们创建了一个可以滑动删除列表项的DismissibleItemList
控件。每个ListTile
都被Dismissible
包裹,允许用户通过滑动来删除。当列表项被删除时,onDismissed
回调会被调用,并且通过setState
更新UI,从列表中移除已经删除的项。
评论已关闭