Flutter 滑動刪除

效果

在這裏插入圖片描述

構建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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章