ScaffoldMessenger 範例

 Flutter 2.0 引入了  `ScaffoldMessenger`  來取代舊的  `Scaffold.of(context)` 。這使得 Flutter 中的 Snackbars 和 Bottom Sheets 更加可靠。以下是一個示例,使用  `ScaffoldMessenger`  來顯示 Snackbar。

 首先,需要在  `Scaffold`  中添加一個  `ScaffoldMessenger`  小部件。這裡有一個簡單的  `Scaffold`  小部件的示例:


class MyHomePage extends StatelessWidget {

  @override

  Widget build(BuildContext context) {

    return Scaffold(

      appBar: AppBar(title: Text('ScaffoldMessenger Demo')),

      body: Center(child: Text('Hello, World!')),

      floatingActionButton: FloatingActionButton(

        onPressed: () {

          // 在这里显示 Snackbar

        },

        child: Icon(Icons.add),

      ),

    );

  }

}



接下來,在 FloatingActionButton 的  `onPressed`  回調中,使用  `ScaffoldMessenger`  來顯示 Snackbar。這是一個示例:


class MyHomePage extends StatelessWidget {

  @override

  Widget build(BuildContext context) {

    return Scaffold(

      appBar: AppBar(title: Text('ScaffoldMessenger Demo')),

      body: Center(child: Text('Hello, World!')),

      floatingActionButton: FloatingActionButton(

        onPressed: () {

          final scaffoldMessenger = ScaffoldMessenger.of(context);

          scaffoldMessenger.showSnackBar(

            SnackBar(content: Text('Hello, Snackbar!')),

          );

        },

        child: Icon(Icons.add),

      ),

    );

  }

}


在上述示例中,首先使用  `ScaffoldMessenger.of(context)`  方法獲取  `ScaffoldMessenger`  對象,然後使用  `showSnackBar`  方法顯示 Snackbar。這個 Snackbar 會顯示一個簡單的文本  `Hello, Snackbar!` 。

 希望這個示例可以幫助您更好地理解  `ScaffoldMessenger`  的使用方式。

留言

這個網誌中的熱門文章

flutter 使用 ToastDialog 範例

[flutter]flutter如何防止GPS偽定位