Flutter-AlertDialog

AlertDialog
官方解释:
A material design alert dialog.

个人理解:
信息弹出确认窗,用户可以操作列表,选项,有标题、内容、操作按钮;通常作为子组件传递给showDialog;

示例:

import 'package:flutter/material.dart';

/*
* alertdialog
* */
class MyAlertDialog extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: FlatButton(
          onPressed: () {
            showAlertDialog(context);
          },
          child: Text(
            'AlertDialog',
            style: TextStyle(
              fontSize: 16.0,
              color: Colors.black,
            ),
          ),
          color: Colors.green,
        ),
      ),
    );
  }

  void showAlertDialog(BuildContext context) {
    showDialog(
        context: context,
        barrierDismissible: true,
        builder: (BuildContext context) {
          return AlertDialog(
            content: Text('this is alertdialog'),
            title: Center(
                child: Text(
              '标题',
              style: TextStyle(
                  color: Colors.black,
                  fontSize: 20.0,
                  fontWeight: FontWeight.bold),
            )),
            actions: <Widget>[
              FlatButton(
                  onPressed: () {
                    Navigator.of(context).pop();
                  },
                  child: Text('确定')),
              FlatButton(
                  onPressed: () {
                    Navigator.of(context).pop();
                  },
                  child: Text('取消')),
            ],
          );
        });
  }
}

构造方法

AlertDialog({Key key, Widget title, EdgeInsetsGeometry titlePadding, TextStyle titleTextStyle, Widget content, EdgeInsetsGeometry contentPadding: const EdgeInsets.fromLTRB(24.0, 20.0, 24.0, 24.0), TextStyle contentTextStyle, List<Widget> actions, Color backgroundColor, double elevation, String semanticLabel, ShapeBorder shape })
Creates an alert dialog. [...]

继承关系
Object -> Diagnosticable -> DiagnosticableTree -> Widget -> StatelessWidget -> AlertDialog

属性

  • actions->List<Widget>
    底部可选操作集,比如‘确认’、‘取消’按钮等;

  • backgroundColor → Color
    dialog背景颜色

  • content → Widget
    diaolog主题内容,可以放在weiget中

  • contentPadding → EdgeInsetsGeometry
    内容的位置,距离父边距padding

  • contentTextStyle → TextStyle
    内容文字风格

  • elevation → double
    dialog的悬浮高度,跟底部阴影有关

  • shape → ShapeBorder
    dialog边框的圆角

  • title → Widget
    dialog标题

  • titlePadding → EdgeInsetsGeometry
    标题的区域的padding

  • titleTextStyle → TextStyle
    标题的文字风格

注意:由于AlertDialog通常使用child的大小来调整自身大小,所以使用一些widget无法正常工作;

效果:


image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,535评论 0 17
  • 文本 Flutter中使用Text来实现一般的文本,构建一个Text方法如下: 属性 [站外图片上传中...(im...
    日思日睿阅读 1,802评论 0 0
  • 1.App结构和导航 Scaffold:Material Design布局结构的基本实现。此类提供了用于显示dra...
    慕容小伟阅读 3,832评论 0 3
  • 国庆后面两天在家学习整理了一波flutter,基本把能撸过能看到的代码都过了一遍,此文篇幅较长,建议保存(star...
    Nealyang阅读 4,381评论 1 17
  • 听着歌 在种满银杏树的路上 卡车比行人匆忙 可乐羡慕大海的欲望 看着寒带暖流的城市 徒步回家 孤傲的风 灭掉蜡烛 ...
    自然吸引阅读 175评论 0 4