【发布时间】:2022-12-03 02:30:22
【问题描述】:
我很不好意思问这个问题,因为我不记得它是如何完成的。我正在尝试定义一种方法,我可以在需要时更改其主体。它将用于浮动操作按钮,该按钮将在PageView() 的每个页面中具有特定功能。我没有找到任何相关信息,所以有人可以提醒我这是什么以及如何完成的吗?
【问题讨论】:
标签: flutter
我很不好意思问这个问题,因为我不记得它是如何完成的。我正在尝试定义一种方法,我可以在需要时更改其主体。它将用于浮动操作按钮,该按钮将在PageView() 的每个页面中具有特定功能。我没有找到任何相关信息,所以有人可以提醒我这是什么以及如何完成的吗?
【问题讨论】:
标签: flutter
如果你想在 Flutter 中的一个 PageView 的不同页面中定义一个可以更改或自定义的方法,你可以使用闭包或 lambda 表达式创建一个可以传递给浮动操作按钮的函数。
下面是一个示例,说明如何使用可在 PageView 的不同页面中自定义的 lambda 表达式定义浮动操作按钮:
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: PageView(
children: [
MyHomePage(),
MySecondPage(),
MyThirdPage(),
],
),
);
}
}
class MyHomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
floatingActionButton: FloatingActionButton(
onPressed: () => print('Button pressed on Home Page'),
),
);
}
}
class MySecondPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
floatingActionButton: FloatingActionButton(
onPressed: () => print('Button pressed on Second Page'),
),
);
}
}
class MyThirdPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
floatingActionButton: FloatingActionButton(
onPressed: () => print('Button pressed on Third Page'),
),
);
}
}
在此示例中,浮动操作按钮的 onPressed 属性设置为 lambda 表达式,该表达式定义按下按钮时要执行的操作。这个 lambda 表达式对于 PageView 的每个页面都是不同的,所以按钮在每个页面上都会有不同的功能。
【讨论】: