Flutter GetX系列教程---Dialog

安装

将 GetX 添加到你的 pubspec.yaml 文件中

dependencies:
   get: ^4.6.5

在需要用到的文件中导入,它将被使用。

import 'package:get/get.dart';

Dialog介绍

Dialog 底层其实是对AlertDialog进行了封装, 一般用于二次确认的弹出框,比如当点击某个按钮提交资料时,需要用户二次确认,以防止误操作。

调用Dialog

import 'package:flutter/material.dart';
import 'package:get/get.dart';
void main() =>runApp(
  const GetMaterialApp(
    home: Home(),
  )
);

class Home extends StatelessWidget {
  const Home({Key? key}) : super(key: key);

  
  Widget build(BuildContext context) {
    return Container(
      child: Scaffold(
        appBar: AppBar(
          title: Text("Dialog介绍"),
        ),
        body: Container(
          child: ListView(
            children: [
              ElevatedButton(onPressed: ()=>{
                Get.defaultDialog(
                  title: "是否确定?",
                  // titleStyle: TextStyle( // 设置标题样式
                  //   fontSize: 20,color: Colors.blue
                  // ),
                  middleText: "内容是否确认",// 设置内容
                  // middleTextStyle: const TextStyle(
                  //   color: Colors.purpleAccent
                  // ),
                  titlePadding: EdgeInsets.all(20),
                  // backgroundColor: Colors.pink,// 设置背景颜色
                  radius: 10, // 设置圆角
                  // content: Row(
                  //   children: [
                  //     CircularProgressIndicator(),
                  //     Text("自定义内容")
                  //   ],
                  // ),
                  // contentPadding: EdgeInsets.all(30),
                  // onConfirm: (){
                  //   print("onconfirm"); //确认按钮回调
                  // },
                  // onCancel: (){
                  //   print("onCancel");
                  // },
                  // actions: [
                  //   ElevatedButton(onPressed: (){
                  //     Get.back();
                  //   }, child: Text("自定义1")),
                  //   ElevatedButton(onPressed: (){
                  //     Get.back();
                  //   }, child: Text("自定义2")),
                  // ]
                  barrierDismissible: true, // 是否可通过点击背景关闭Dialog
                  onWillPop: () async{
                    print("要退出页面");
                    return true;
                  }
                )
              }, child: Text("Dialog"))
            ],
          ),
        ),
      ),
    );
  }
}

请添加图片描述

Dialog属性和说明

字段属性描述
titleString弹出的标题,默认(Alert)
titlePaddingEdgeInsetsGeometry标题的内边距,默认(EdgeInsets.all(8))
titleStyleTextStyle标题的样式
middleTextString中间内容区域显示的文字
middleTextStyleTextStyle中间内容区域显示的文字样式
contentWidget弹出的内容,该值设置后middleText将无效
contentPaddingEdgeInsetsGeometry内容的内边距,默认(EdgeInsets.all(8))
onConfirmVoidCallback确认按钮回调
onCancelVoidCallback取消按钮回调
onCustomVoidCallback自定义按钮回调
cancelTextColorColor取消按钮文字的颜色
confirmTextColorColor确认按钮文字的颜色
textConfirmString确认按钮的文字
textCancelString取消按钮的文字
textCustomString自定义按钮的文字
confirmWidget确认按钮的组件
cancelWidget取消按钮的组件
customWidget自定义按钮的组件
backgroundColorColor弹出框的背景颜色
barrierDismissiblebool是否可以通过点击背景关闭弹窗
buttonColorColor按钮的文字颜色,根据按钮类型来设定不同的位置
radiusdouble弹出框的圆角大小,默认20
actionsList增加额外的子组件
onWillPopWillPopCallback拦截关闭之前做一些操作
navigatorKeyGlobalKey用于打开对话框的key
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值