flutter 对话框

》理论不多哔哔,直接上代码:

import 'dart:convert';

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
/**
 * 基础对话框实现
 */
void main() {
  runApp(MyAppDemo()); //main函数运行方法入口
}

class MyAppDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text("Flutter Dialog"),
        ),
        body: HomContent(),
      ),
    );
  }
}

/**
 * 对话框
 */
class HomContent extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
 child: ListView(
        scrollDirection:
            Axis.vertical, //Axis.horizontal 水平列表 Axis.vertical 垂直列表
        // 创建列表元素
        children: <Widget>[
          //嵌套容器
          Container(
            width: 180.0,
            color: Colors.amber,
          child: RaisedButton(
  child: Text('切换'),
  onPressed: () { //点击触发事件
    showDialog(
        context: context, // context: Dialog描述内容
        builder: (context) {
          return AlertDialog(
            title: Text('提示'),
            content: Text('确认删除吗?'),
            actions: <Widget>[  //actions可选操作(按钮)
              FlatButton(child: Text('取消'),onPressed: (){},),
              FlatButton(child: Text('确认'),onPressed: (){},),
            ],
          );
        });
  },
)

          ),

          //第二个嵌套容器
          Container(
            width: 180.0,
            color: Colors.deepOrange,
             child: RaisedButton(
            child: Text('IOS风格对话框'),
            onPressed: () {
            showCupertinoDialog(
                      context: context,
                      builder: (context) {
                        return CupertinoAlertDialog(
                          title: Text('提示'),
                          content: Text('确认删除吗?'),
                          actions: <Widget>[
                            CupertinoDialogAction(
                              child: Text('取消'),
                              onPressed: () {Navigator.of(context).pop('cancel');},
                            ),
                            CupertinoDialogAction(
                              child: Text('确认'),
                              onPressed: () {Navigator.of(context).pop('ok');},
                            ),
                          ],
                        );
                      });
                },
         )
  
          ),

/**
 * 第三个嵌套容器
 */
          Container(
            width: 180,
            color: Colors.blue,
                 
      child: RaisedButton(
             child: Text("AlertDialog弹出窗口"),
             onPressed: () {
                    showDialog(
                        context: context,
                        builder: (build) {
                          return AlertDialog(
                            title: Text('提示'),
                            content: Text('确认删除吗?'),
                            backgroundColor: Colors.lightBlueAccent,
                            elevation: 24,
                            shape: RoundedRectangleBorder(
                                borderRadius: BorderRadius.circular(50)),
                            actions: <Widget>[
                              FlatButton(child: Text('取消'), onPressed: () {},),
                              FlatButton(child: Text('确认'), onPressed: () {},),
                            ],
                          );
                        });
                  })
          )

        ],
      ),
  
    );
  }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值