我有一个堆栈中的小部件,所以我想将我的按钮栏放在堆栈的底部中心,但是什么都不起作用.小部件只会粘在左侧.这是我的代码.

new Positioned(
            bottom: 40.0,
            child: new Container(
              margin: const EdgeInsets.all(16.0),
              child: new Column(
                mainAxisAlignment: MainAxisAlignment.center,
                children: <Widget>[
                  new Align(
                    alignment: Alignment.bottomCenter,
                    child: new ButtonBar(
                      alignment: MainAxisAlignment.center,
                      children: <Widget>[
                        new OutlineButton(
                          onPressed: () {
                            Navigator.push(
                                context,
                                new MaterialPageRoute(
                                    builder: (context) => new LoginPage()));
                          },
                          child: new Text(
                            "Login",
                            style: new TextStyle(color: Colors.white),
                          ),
                        ),
                        new RaisedButton(
                          color: Colors.white,
                          onPressed: () {
                            Navigator.push(
                                context,
                                new MaterialPageRoute(
                                    builder: (context) =>
                                        new RegistrationPage()));
                          },
                          child: new Text(
                            "Register",
                            style: new TextStyle(color: Colors.black),
                          ),
                        )
                      ],
                    ),
                  )
                ],
              ),
            ),
          )

我真的试过了每种居中路由,请帮帮忙.

推荐答案

删除所有内容,但以下内容除外:

Align(
  alignment: Alignment.bottomCenter,
  child: new ButtonBar(
    alignment: MainAxisAlignment.center,
    children: <Widget>[
      new OutlineButton(
        onPressed: () {
          Navigator.push(
            context,
            new MaterialPageRoute(
              builder: (context) => new LoginPage()));
        },
        child: new Text(
          "Login",
          style: new TextStyle(color: Colors.white),
        ),
      ),
      new RaisedButton(
        color: Colors.white,
        onPressed: () {
          Navigator.push(
            context,
            new MaterialPageRoute(
              builder: (context) =>
                new RegistrationPage()));
        },
        child: new Text(
          "Register",
          style: new TextStyle(color: Colors.black),
        ),
      )
    ],
  ),
)

在我的理论中,额外的Container正在摧毁它.我建议您在这周围加上Padding:

Padding(
  padding: EdgeInsets.only(bottom: 20.0),
  child: Align...
),

这对我来说似乎比Positioned要合理得多,而且我也不太理解你们只有一个子元素的Column.

Flutter相关问答推荐

当第二页在单独的小工具中使用Navigator.pop时,Navigator.push不起作用

无法在GroupButton内部正确呈现

Flutter 中的面向对象模式

允许冻结在初始化时使用工厂

Riverpod状态管理-在调用请求时更新用户界面

Flutter 图标记移动

就像Flutter 中的头文件一样?

无法在仿真器上运行Flutter 项目-文件名太长错误

构建方法中的性能声明小部件

未处理的异常:第1行第5列出现错误:无效的媒体类型:应为/&;.从API获取数据时在Flutter中

没有固定宽度的小部件可以约束文本小部件吗?

GridView 渲染项目之间有微小的间隙

Flutter - 展开图标无法正常工作

如何从另一个页面访问 Firebase 值?

如何流畅切换画面?

statefulWidget 无法进行所需更改的问题

type '({bool growable}) => List' 不是类型转换中类型 'List' 的子类型

在 CircleAvatar 中放置芯片

为什么 Flutter riverpod 直接分配不起作用但方法可以

带图像封面的 ElevatedButton