flutter - 如何在 Flutter 中将容器 block 对齐到屏幕的末尾?

标签 flutter dart

在我的 Flutter 项目中,我已经初始化了一个容器。在那个容器中,我有一个子“列”,在里面我初始化了 3 个图标作为我的小部件。所以,我想将整个容器 block (下图中的白色 block )垂直对齐到屏幕的末端。据我从文档中了解到,它可以通过以下命令完成-

mainAxisAlignment: MainAxisAlignment.end

但它在这里不起作用并显示以下输出-

enter image description here

这是我的代码-

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {

    return MaterialApp(
      home: Scaffold(
        backgroundColor: Colors.blue,
        body: SafeArea(

          child: Container(
            color: Colors.white,
            child: Column(

              mainAxisSize: MainAxisSize.min,
              mainAxisAlignment: MainAxisAlignment.end,

              children: <Widget>[
                Icon(Icons.star, size: 50),
                Icon(Icons.star, size: 50),
                Icon(Icons.star, size: 50),
              ],
            )
          ),
        ),
      ),
    );
  }

}

所以,我需要帮助来了解如何将白色 block 对齐到屏幕的末端。

最佳答案

是的,这是因为默认情况下容器和列在屏幕的左上角对齐。 MainAxisAlignment.end 实际上有效,除了您的列太短以至于 .end.start 在对齐方面基本相同。你需要做的是:

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {

    return MaterialApp(
      home: Scaffold(
        backgroundColor: Colors.blue,
        body: SafeArea(
          child: Align(
            widthFactor: double.infinity,
            heightFactor: double.infinity,
            alignment: Alignment.bottomRight,
            child: Container(
                color: Colors.white,
                child: Column(

                  mainAxisSize: MainAxisSize.min,
                  mainAxisAlignment: MainAxisAlignment.end,

                  children: <Widget>[
                    Icon(Icons.star, size: 50),
                    Icon(Icons.star, size: 50),
                    Icon(Icons.star, size: 50),
                  ],
                )
            ),
          ),
        ),
      ),
    );
  }

}

关于flutter - 如何在 Flutter 中将容器 block 对齐到屏幕的末尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56955954/

相关文章:

dart - 扩展TemplateElement

dart - 除了 AngularDart 中的否定条件外,ng-show 和 ng-hide 是否完全相同?

flutter - 如何使用 darkTheme : 在 flutter 中更改主题

flutter - body2 已弃用,不应使用。这是 2014 版 Material 设计中使用的术语。 - flutter 中的警告消息

firebase - 如何使用Firebase在Flutter中登录用户的电子邮件

flutter - 如何修复 "Error retrieving device properties for ro.product.cpu.abi:"Android Studio - Flutter

javascript - Flutter - 如何在 WebView 中获取 Javascript 回调?

dart - Polymer 1.0 - iron-list - 选择

asynchronous - Flutter 异步代码中错误的执行顺序

flutter - 如何在 Flutter 中运行单个 dart 文件而无需在 vscode 中构建 UI?