天天看點

第8章手勢-滑動删除

import 'package:flutter/material.dart';

void main() {
  runApp(new MaterialApp(
    title: '滑動删除示例',
    home: new MyApp(),
  ));
}

class MyApp extends StatelessWidget {

  //建構30條清單資料
  List items = new List.generate(30, (i) => "清單項 ${i + 1}");

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(
        title: new Text('滑動删除示例'),
      ),
      //建構清單
      body: new ListView.builder(
        itemCount: items.length,//指定清單長度
        itemBuilder: (context, index) {//建構清單

          //提取出被删除的項
          final item = items[index];

          //傳回一個可以被删除的清單項
          return new Dismissible(
              key: new Key(item),
              //被删除回調
              onDismissed: (direction) {
                //移除指定索引項
                items.removeAt(index);
                //底部彈出消息提示目前項被删除了
                Scaffold.of(context).showSnackBar(
                    new SnackBar(content: new Text("$item 被删除了")));
              },
              child: new ListTile(title: new Text('$item'),)
          );
        },
      ),
    );
  }
}
           
  • Flutter技術入門與實戰: http://product.dangdang.com/26485813.html
  • Flutter交流學習群:894109159
  • Flutter開源項目請關注: https://github.com/kangshaojun