如何在Flutter中定义方法体

nom7f22z  于 2022-12-05  发布在  Flutter
关注(0)|答案(1)|浏览(112)

问这个问题我真的很尴尬,因为我不记得是怎么做的了。我正在尝试定义一个方法,我可以随时改变它的主体。它将用于一个浮动的操作按钮,在PageView()的每一页都有特定的功能。我没有找到任何关于它的东西,所以有人能提醒我这是怎么做的吗?

nfs0ujit

nfs0ujit1#

如果要定义一个可以在Flutter中的PageView的不同页面中更改或自定义的方法,可以使用闭包或lambda表达式创建一个可以传递给浮动操作按钮的函数。
下面是一个示例,说明如何使用lambda表达式定义浮动操作按钮,该按钮可在PageView的不同页面中自定义:

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的每个页面都不同,因此按钮在每个页面上都具有不同的功能。

相关问题