Flutter AlertDialog,SimpleDialog,showModalBottomSheet,toast

AlertDialog

在这里插入图片描述

SimpleDialog

在这里插入图片描述

showModalBottomSheet

在这里插入图片描述

toast第三方组件

在这里插入图片描述

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

class DialogDemo extends StatefulWidget {
  @override
  _DialogDemoState createState() => _DialogDemoState();
}

class _DialogDemoState extends State<DialogDemo> {

  _alertDialog() async{//异步等待,值赋予result
    var result=await showDialog (
        context: context,
        builder: (context){
          return  AlertDialog (
            title: Text('System'),
            content: Text('你确定要删除吗?'),
            actions: <Widget>[
              RaisedButton(
                child: Text('取消'),
                onPressed: (){
                  Navigator.pop(context,'cancle');
                },
              ),
              RaisedButton(
                child: Text('确定'),
                onPressed: (){
                  Navigator.pop(context);
                },
              )
            ],
          );
        }
    );
    print(result);//cancle
  }

  _simpleDialog() async{
    var result=await showDialog(
        context: context,
        builder: (context){
            return SimpleDialog(
              title: Text('选择了内容'),
              children: <Widget>[
                 SimpleDialogOption(
                   child: Text('one'),
                   onPressed: (){
                     Navigator.pop(context,'one');
                   },
                 ),
                  SimpleDialogOption(
                    child: Text('two'),
                    onPressed: (){
                      Navigator.pop(context,'two');
                    },
                  ),
                  SimpleDialogOption(
                    child: Text('three'),
                    onPressed: (){
                      Navigator.pop(context,'three');
                    },
                  )
              ],
            );
        });
    print(result);
  }

  _showModalBottomSheet() async{
    var result=await showModalBottomSheet(
        context:context,
        builder: (context){
          return Container(
            height: 200,
            child: Column(
              children: <Widget>[
                ListTile(
                  title: Text('分享 A'),
                  onTap: (){
                    Navigator.pop(context,'A');
                  },
                ),
                ListTile(
                  title: Text('分享 B'),
                  onTap: (){
                    Navigator.pop(context,'B');
                  },
                ),
                ListTile(
                  title: Text('分享 C'),
                  onTap: (){
                    Navigator.pop(context,'C');
                  },
                ),

              ],
            ),
          );
        }
    );
    print(result);
  }

  _showToast(){//第三方组件
    Toast.show("Toast plugin app", context, duration: Toast.LENGTH_SHORT, gravity:  Toast.CENTER);
  }
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Dialog'),
      ),
      body: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
          Row(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              RaisedButton(
                child: Text('AlertDialog'),
                onPressed:_alertDialog
              )
            ],
          ),
          Row(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              RaisedButton(
                  child: Text('SimpleDialog'),
                  onPressed:_simpleDialog
              )
            ],
          ),
          Row(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              RaisedButton(
                  child: Text('showModalBottomSheet'),
                  onPressed:_showModalBottomSheet
              )
            ],
          ),
          Row(//第三方组件
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              RaisedButton(
                  child: Text('toast'),
                  onPressed:_showToast
              )
            ],
          )
        ],
      ),
    );
  }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值