flutter:getx的小组件:snackbar/defaultdialog/bottomsheet

一,代码:

import 'package:flutter/material.dart';
import 'package:get/get.dart';

class SmallPage extends StatelessWidget {
  const SmallPage({super.key});
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: Center(
      child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          // SnackBars
          ElevatedButton(
              onPressed: () async {
                Get.snackbar('通知',
                    '这里是一条通知信息',
                    snackPosition: SnackPosition.BOTTOM, // 显示位置(顶部或底部)
                    backgroundColor: Colors.blue, // 背景颜色
                    colorText: Colors.white, // 文本颜色
                    icon: Icon(Icons.info, color: Colors.white), // 图标
                    duration: Duration(seconds: 3), // 显示时长
                ); // toNamed方法带参数实现页面跳转
              },
              child: const Text("SnackBars提示信息")),
          const SizedBox(height: 16),
          // Dialogs
          ElevatedButton(
              onPressed: () async {
                //Get.snackbar('Dialogs', '我是Dialogs');
                Get.defaultDialog(
                    textConfirm: "确定",
                    //textCancel: "取消",
                    title: "提示",
                    onConfirm: ()  {
                     print("确定");
                    Get.back();
                },middleText: "对话框中的内容");
              },
              child: const Text("Dialogs对话框")),
          const SizedBox(height: 16),
          // Dialogs
          ElevatedButton(
              onPressed: () {
                Get.bottomSheet(Container(
                  color: Colors.white,
                  child: Wrap(
                    children: [
                      ListTile(
                        leading: const Icon(Icons.wb_sunny_outlined),
                        title: const Text("白天模式"),
                        onTap: () {
                          // 改变主题模式(白天模式还是夜晚模式)
                          // Get.isDarkMode用来判断是否是夜晚模式
                          Get.changeTheme(ThemeData.light());
                        },
                      ),
                      ListTile(
                        leading: const Icon(Icons.wb_sunny),
                        title: const Text("黑夜模式"),
                        onTap: () {
                          // 改变主题模式(白天模式还是夜晚模式)
                          Get.changeTheme(ThemeData.dark());
                        },
                      )
                    ],
                  ),
                ));
              },
              child: const Text("BottomSheets")),
        ],
      ),
        ),
    );
  }
}

二,测试效果:

posted @ 2025-04-26 08:36  刘宏缔的架构森林  阅读(40)  评论(0)    收藏  举报