📅  最后修改于: 2023-12-03 14:52:54.258000             🧑  作者: Mango
在 Flutter 中,可以使用 ListView
组件来显示列表。列表视图中的每个项目通常需要带有一些操作按钮。本教程将向您展示如何在 Flutter 中设置小按钮。
在开始本教程之前,您需要准备好您的 Flutter 环境。如果您还没有安装 Flutter,请先按照 Flutter 文档中的说明进行安装。
创建一个新的 Flutter 应用程序。在终端中使用以下命令:
$ flutter create myapp
运行应用程序:
$ cd myapp
$ flutter run
在 lib/main.dart
文件中,我们将创建一个 ListView
组件:
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
home: Scaffold(
appBar: AppBar(
title: Text('Flutter ListView'),
),
body: ListView(
children: [
ListTile(
title: Text('Item 1'),
),
ListTile(
title: Text('Item 2'),
),
ListTile(
title: Text('Item 3'),
),
],
),
),
);
}
}
运行应用程序,您应该可以看到一个包含三个列表项的列表视图。
在每个列表项中添加一个小按钮,以便进行操作。我们将使用 InkWell
组件来创建按钮。
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
home: Scaffold(
appBar: AppBar(
title: Text('Flutter ListView'),
),
body: ListView(
children: [
ListTile(
title: Text('Item 1'),
trailing: InkWell(
child: Icon(Icons.favorite_border),
onTap: () {},
),
),
ListTile(
title: Text('Item 2'),
trailing: InkWell(
child: Icon(Icons.favorite_border),
onTap: () {},
),
),
ListTile(
title: Text('Item 3'),
trailing: InkWell(
child: Icon(Icons.favorite_border),
onTap: () {},
),
),
],
),
),
);
}
}
现在,在每个列表项的右侧都有一个小按钮。点击按钮时,什么也不会发生,因为我们还没有为它们添加任何操作。
在上一步中,我们使用 onTap
回调在点击按钮时执行一些代码。让我们给它们添加一些操作:
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
void _handleFavorite() {
print('Added to favorites');
}
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
home: Scaffold(
appBar: AppBar(
title: Text('Flutter ListView'),
),
body: ListView(
children: [
ListTile(
title: Text('Item 1'),
trailing: InkWell(
child: Icon(Icons.favorite_border),
onTap: _handleFavorite,
),
),
ListTile(
title: Text('Item 2'),
trailing: InkWell(
child: Icon(Icons.favorite_border),
onTap: _handleFavorite,
),
),
ListTile(
title: Text('Item 3'),
trailing: InkWell(
child: Icon(Icons.favorite_border),
onTap: _handleFavorite,
),
),
],
),
),
);
}
}
现在,当您点击每个按钮时,您应该可以在控制台中看到 Added to favorites
的打印输出。
本教程向您展示了如何在列表视图中的 Flutter 中设置小按钮。您学会了如何创建一个列表视图,将小按钮添加到列表项中,并处理按钮点击事件。