首页 > 其他分享 >Flutter Dialog Toast 弹窗

Flutter Dialog Toast 弹窗

时间:2023-12-19 14:34:41浏览次数:24  
标签:Toast const Text context return Flutter 弹窗

AlertDialog

showDialog(
  barrierDismissible, //点击遮罩背景是否关闭弹窗
  context: context,
  builder: (context) {
    return AlertDialog(
      title: const Text('Alert弹窗'),
      content: const Text('Alert弹窗内容'),
      actions: [
        TextButton(
          onPressed: () {
            Navigator.of(context).pop();//关闭弹窗
          },
          child: const Text('按钮'),
        )
      ],
    );
  },
);

获取点击按钮回调,使用 async-await,关闭弹窗时在pop方法中传入回调参数

void _showDialog() async {
    var result = await showDialog(
      context: context,
      builder: (context) {
        return AlertDialog(
          title: const Text('Alert弹窗'),
          content: const Text('Alert弹窗内容'),
          actions: [
            TextButton(
              onPressed: () {
                //关闭弹窗,并传递回调参数
                Navigator.pop(context,'确认');
              },
              child: const Text('按钮'),
            )
          ],
        );
      },
    );
    print(result); //关闭弹窗时传的参数'确认'
  }

SimpleDialog

Select弹窗 用SimpleDialog生成select选项

List<String> prolist = ['手机', '笔记本', '汽车', '家具'];
showDialog(
  barrierDismissible: true, //点击遮罩背景是否关闭弹窗
  context: context,
  builder: (context) {
    return SimpleDialog(
      children: prolist.map((pro) {
        return SimpleDialogOption(
          onPressed: () {
            Navigator.pop(context);
          },
          child: Text(pro),
        );
      }).toList(),
    );
  },
);

ActionSheet 底部弹窗

showModalBottomSheet(
  context: context,
  backgroundColor: Colors.white,
  shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(5)),
  builder: (context) {
    return Container(
      // height: 300,
      child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: prolist.map((pro) {
          return ListTile(
              title: Text(pro),
              onTap: () {
                Navigator.pop(context);
              });
        }).toList(),
      ),
    );
  },
);

Toast

使用fluttertoas插件

import 'package:fluttertoast/fluttertoast.dart';

Fluttertoast.showToast(
     msg: "This is Center Short Toast",
    toastLength: Toast.LENGTH_SHORT, //Android平台显示时长
    gravity: ToastGravity.CENTER,
    timeInSecForIosWeb: 1,//IOS和web平台显示时长
    backgroundColor: Colors.red,
    textColor: Colors.white,
    fontSize: 16.0,
    webBgColor: "#f00",
    webPosition: 'center',
  );

标签:Toast,const,Text,context,return,Flutter,弹窗
From: https://www.cnblogs.com/angelwgh/p/17913663.html

相关文章

  • flutter中去除导航栏与状态栏
    方法一SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual,overlays:[SystemUiOverlay.bottom]);//隐藏状态栏上方黑边SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual,overlays:[SystemUiOverlay.top]);//隐藏导航栏SystemChrome.setEnable......
  • flutter杂知识点
    child和children用于在一个容器小部件(如Container、Column、Row等)中放置一个或多个子小部件1.child属性用于容器只包含一个子小部件的情况;2.children属性用于容器包含多个子小部件的情况。Center小部件(居中、定位、多个方向上居中)Center小部件用于将其子小部件放置在父容器的......
  • Java、Kotlin、Flutter、HarmonyOS基本数据类型
    一.Java数据类型基本数据类型整型(byte、short、int、long)、浮点型(float、double)、字符型(char)和布尔型(boolean)1.1整数类型整型是Java中最基本的数据类型之一。它可以用来存储整数值,包括正数、负数和0。Java中的整型有四种类型:byte、short、int和long。byte:占用1个字节,范围从-128......
  • flutter屏幕适配方案
    使用MediaQuery和比例因子优点:使用简单,可以处理大多数情况下的屏幕适配需求。缺点:需要手动计算比例因子,并且随着UI元素变得更加复杂和层次化(例如多层次列表或动画效果),使用此方法可能会变得更加困难。import'package:flutter/material.dart';classMyAppextendsStatelessW......
  • flutter中显示年月日、星期与时间
    代码import'package:flutter/material.dart';import'package:intl/intl.dart';import'dart:async';import'package:intl/date_symbol_data_local.dart';//添加此行classDateWidgetextendsStatefulWidget{@override_......
  • flutter better_player 增加投屏按钮
    better_player播放器默认不可以修改UI需要增加投屏按钮则需要自定义UI但是自定义UI需要布局有需要定义手势动作还需要监听播放事件有没可能服用原来的一切仅仅增加一个投屏按钮呢?答案是肯定的第一步设置主题默认安卓和IOS我们设置自定义BetterPlayerControlsC......
  • Flutter使用SharedPreferences示例
    SharedPreferencesAndroid原生开发经常会用SharedPreferences来保存一些设置,Flutter用什么来保存这些设置呢?在Flutter中,你可以使用shared_preferences插件来实现类似Android原生开发中的SharedPreferences功能,用于在应用程序中保存和检索持久化的键值对。具体使用首先,在你的Fl......
  • flutter最新封装Dio
    import'dart:convert';import'package:becoin/Routers/Routes.dart';import'package:common_utils/common_utils.dart';import'package:dio/dio.dart';import'package:flutter/cupertino.dart';import'pac......
  • Flutter 自带的搜索组件
    效果如下官方需要重写四个关键方法classsearchBarDelegateextendsSearchDelegate<String>{/*这个方法返回一个控件列表,显示为搜索框右边的图标按钮,这里设置为一个清除按钮,并且在搜索内容为空的时候显示建议搜索内容,使用的是showSuggestions(context)方法:*/@overrid......
  • Flutter开发之安卓打包,和获取签名相关信息,公钥值相关操作
    我们Flutter开发中,难免有些小朋友因需求要获取打包签名的一些相关信息,下面我们来讲一下怎么获取一生成签名文件我们打包安卓APK包需要先生成签名文件,需运行以下指令,生成签名文件keytool-genkey-v-keystoreGMT\_keystore.keystore-aliasGMT\_keystore-keyalgRSA-keysi......