效果
構建List
body: ListView.builder(
itemCount: articleDatas.length,
itemBuilder: (BuildContext context, int position) {
return getRow(position);
},
),
articleDatas
是list數據源,可自行創建測試數據。
getRow
方法是構建list的item佈局,可以是複雜的也可以只是一個text。
添加滑動
官方有一個Dismissible
Widget,包裹住item即可實現滑動效果。
final item = articleDatas[position];
return Dismissible(
// 滑動背景色
background: new Container(color: Theme.of(context).primaryColor),
// 設置key標識
key: new Key(item.title),
// 滑動回調
onDismissed: (direction) {
// 根據位置移除
articleDatas.removeAt(position);
//do something
// 提示
Scaffold.of(context).showSnackBar(SnackBar(content: Text("已移除")));
},
child: getRow(position),
);
github
https://github.com/yechaoa/wanandroid_flutter
官方文檔:https://flutter.dev/docs/cookbook/gestures/dismissible