代码编织梦想

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:bot_toast/bot_toast.dart';
import '../../components/MyDiglog.dart';

class Time extends StatefulWidget {
  @override
  _TimeState createState() => _TimeState();
}

class _TimeState extends State<Time> {
  _alterDialog() async{
    var result = await showDialog(
      context: context,
      builder: (context){
        return AlertDialog(
          title: Text("提示选择确定还是取消"),
          content: Text("确认要删除嘛?"),
          actions: [
            FlatButton(
              onPressed: (){
                print("确定");
                Navigator.pop(context, "OK啦");
              },
              child: Text("确定")
            ),
            FlatButton(
              onPressed: (){
                print("取消");
                Navigator.pop(context, "cancel");
              },
              child: Text("取消")
            )
          ],
        );
      }
    );
    print(result);
  }
  _simpleDialog(){
    showDialog(
      context: context,
      builder: (BuildContext context){
        return SimpleDialog(
          title: Text("多个选项提示框, 你喜欢吃什么水果, A 橘子, B橙子, C西瓜"),
          children: [
            SimpleDialogOption(
              child: Text("A 橘子"),
              onPressed: (){
                print("橘子");
                Navigator.pop(context);
              },
            ),
           SimpleDialogOption(
              child: Text("B 橙子"),
              onPressed: (){
                print("橙子");
                Navigator.pop(context);
              },
            ),
           SimpleDialogOption(
              child: Text("C 西瓜"),
              onPressed: (){
                print("西瓜");
                Navigator.pop(context);
              },
            )

          ],
        );
      },
    );
  }
  _modelBottomSheet(){
    //底部弹出多个选项框
    showModalBottomSheet(
      context: context,
      builder: (BuildContext context){
        return Container(
          height: 250,
          child: Column(
            children: [
              ListTile(
                title: Text("云贵高原"),
                subtitle: Text("AAAAA级风景区"),
                onTap: (){
                  print("云贵高原");
                  Navigator.pop(context);
                },
              ),
             ListTile(
                title: Text("海南三亚"),
                subtitle: Text("AAAAA级风景区"),
                onTap: (){
                  print("海南三亚");
                  Navigator.pop(context);
                },
              ),
             ListTile(
                title: Text("苏州园林"),
                subtitle: Text("AAAAA级风景区"),
                onTap: (){
                  print("苏州园林");
                  Navigator.pop(context);
                },
              ),
            ],
          ),
        );
      }
    );
  }
  //提示框, 过几秒消失
  _toast(){
    BotToast.showText(text:"xxxx");  //弹出一个文本框;
    // BotToast.showCustomText(
    //
    // );
    // BotToast.showSimpleNotification(title: "init"); //弹出简单通知Toast
    // BotToast.showLoading(); //弹出一个加载动画
  }
  @override
  Widget build(BuildContext context) {
    return Container(
      child:Column(
        children: [
            RaisedButton(
                child: Text("1"),
                onPressed: _alterDialog,
            ),
            RaisedButton(
                child: Text("1"),
                onPressed: _simpleDialog,
            ),
            RaisedButton(
                child: Text("1"),
                onPressed: _modelBottomSheet,
            ),
            RaisedButton(
                child: Text("1"),
                onPressed: _toast,
            ),
            RaisedButton(
                child: Text("1"),
                onPressed: (){
                  showDialog(
                    context: context,
                    builder: (context){
                      //自定义提示框
                      return MyDiaLog();
                    }
                  );
                },
            ),
          ],
      ),
    );
  }
}

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'dart:async';

class MyDiaLog extends Dialog{

  _showTimer(context){
    var timer = Timer.periodic(
        Duration(milliseconds: 3000),
        (timer) {
          Navigator.pop(context);
          timer.cancel();
        }
    );
  }

  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    _showTimer(context);
    return Material(
      type: MaterialType.transparency,
      color: Colors.orange,
      child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          Container(
            decoration: BoxDecoration(
              color: Colors.orange,
              borderRadius: BorderRadius.circular(200),
            ),
            height: 100,
            width: 100,
            // color: Colors.pink,
            child: Text("Hellow Word"),
          )
        ],
      )
    );
  }
}
import 'dart:io';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_app/routes/Route.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:bot_toast/bot_toast.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      builder: BotToastInit(), //1.调用BotToastInit
      navigatorObservers: [BotToastNavigatorObserver()], //2.注册路由观察者
      localizationsDelegates: [
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate
      ],
      supportedLocales: [
        const Locale('zh', 'CH'),
        const Locale('en', 'US')
      ],

      debugShowCheckedModeBanner: false, //去掉右上角debug图标
      initialRoute: "/", //默认路由页面,不配置这项默认为 "/"
      // home:HomeContent(), //这是配置默认页面, 但是和routs里的 "/", 配置冲突, routes存在 "/" 即为默认家路由.
      theme: ThemeData(primarySwatch: Colors.deepOrange),
      // routes: routes,
        //当属性 routes: 里面不存在相应路由时才会调用 onGenerateRoute, 所以注释掉routes:, onGenerateRoute才会生效;
      onGenerateRoute: onGenerateRoute,
    );
    }
}









版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/LiErDan/article/details/111109732