如何在弹出窗口中使Button底部对齐?

时间:2019-08-26 10:24:38

标签: flutter dart

如何在弹出窗口中使底部对齐按钮?

这是我尝试过的代码,但其底部留有一些空间。 我已经使用listview建立弹出窗口

     onPressed: () {
         // Navigator.of(context).pushNamed(homePageTag);
            showDialog(
                context: context,
                builder: (BuildContext context) {
                  return AlertDialog(
                    content: Form(
                      key: _formKey,
                      child: ListView(
                        shrinkWrap: true,//This tells items to be put in center
                        children: <Widget>[

                          FlatButton(
                              //padding: EdgeInsets.fromLTRB(0, 0, 0, 0),
                              color: appGreenColor,
                              child: Text("UPDATE", style: TextStyle(color: Colors.white)),
                              onPressed: () {

                              },
                            ),

                        ],
                      ),
                    ),
                  );
                });
        },

正在寻找这个-https://ibb.co/19k2ty7 并获取此-https://ibb.co/h7KwXbn

1 个答案:

答案 0 :(得分:1)

    import 'package:flutter/material.dart';

    void main() => runApp(MyApp());
    Color myColor = Color(0xff00bfa5);

    class MyApp extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
        return MaterialApp(
        debugShowCheckedModeBanner: false,
        title: "Rounde Alert Box",
        home: Scaffold(
            appBar: AppBar(
            backgroundColor: myColor,
            title: Text("Rounded Alert Box"),
            ),
            body: RoundedAlertBox(),
        ),
        );
    }
    }

    class RoundedAlertBox extends StatefulWidget {
    @override
    _RoundedAlertBoxState createState() => _RoundedAlertBoxState();
    }

    class _RoundedAlertBoxState extends State<RoundedAlertBox> {
    @override
    Widget build(BuildContext context) {
        return Center(
        child: RaisedButton(
            onPressed: openAlertBox,
            color: myColor,
            child: Text(
            "Open Alert Box",
            style: TextStyle(color: Colors.white),
            ),
        ),
        );
    }

    openAlertBox() {
        return showDialog(
            context: context,
            builder: (BuildContext context) {
            return AlertDialog(
                shape: RoundedRectangleBorder(
                    borderRadius: BorderRadius.all(Radius.circular(32.0))),
                contentPadding: EdgeInsets.only(top: 10.0),
                content: Container(
                width: 300.0,
                child: Column(
                    mainAxisAlignment: MainAxisAlignment.start,
                    crossAxisAlignment: CrossAxisAlignment.stretch,
                    mainAxisSize: MainAxisSize.min,
                    children: <Widget>[
                    Row(
                        mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                        mainAxisSize: MainAxisSize.min,
                        children: <Widget>[
                        Text(
                            "Rate",
                            style: TextStyle(fontSize: 24.0),
                        ),
                        Row(
                            mainAxisSize: MainAxisSize.min,
                            children: <Widget>[
                            Icon(
                                Icons.star_border,
                                color: myColor,
                                size: 30.0,
                            ),
                            Icon(
                                Icons.star_border,
                                color: myColor,
                                size: 30.0,
                            ),
                            Icon(
                                Icons.star_border,
                                color: myColor,
                                size: 30.0,
                            ),
                            Icon(
                                Icons.star_border,
                                color: myColor,
                                size: 30.0,
                            ),
                            Icon(
                                Icons.star_border,
                                color: myColor,
                                size: 30.0,
                            ),
                            ],
                        ),
                        ],
                    ),
                    SizedBox(
                        height: 5.0,
                    ),
                    Divider(
                        color: Colors.grey,
                        height: 4.0,
                    ),
                    Padding(
                        padding: EdgeInsets.only(left: 30.0, right: 30.0),
                        child: TextField(
                        decoration: InputDecoration(
                            hintText: "Add Review",
                            border: InputBorder.none,
                        ),
                        maxLines: 8,
                        ),
                    ),
                    InkWell(
                        child: Container(
                        padding: EdgeInsets.only(top: 20.0, bottom: 20.0),
                        decoration: BoxDecoration(
                            color: myColor,
                            borderRadius: BorderRadius.only(
                                bottomLeft: Radius.circular(32.0),
                                bottomRight: Radius.circular(32.0)),
                        ),
                        child: Text(
                            "Rate Product",
                            style: TextStyle(color: Colors.white),
                            textAlign: TextAlign.center,
                        ),
                        ),
                    ),
                    ],
                ),
                ),
            );
            });
    }
    }

enter image description here