【问题标题】:How to define the body of a method in Flutter如何在 Flutter 中定义方法体
【发布时间】:2022-12-03 02:30:22
【问题描述】:

我很不好意思问这个问题,因为我不记得它是如何完成的。我正在尝试定义一种方法,我可以在需要时更改其主体。它将用于浮动操作按钮,该按钮将在PageView() 的每个页面中具有特定功能。我没有找到任何相关信息,所以有人可以提醒我这是什么以及如何完成的吗?

【问题讨论】:

    标签: flutter


    【解决方案1】:

    如果你想在 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 的每个页面都是不同的,所以按钮在每个页面上都会有不同的功能。

    【讨论】:

    • 您可能误解了我的问题,我需要一个浮动操作按钮并以某种方式使用 onPageChanged 自定义一个函数,该函数将被浮动操作按钮的 onPressed
    猜你喜欢
    • 2019-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-26
    • 1970-01-01
    • 2021-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多