如何在 Flutter 的主小部件中为小部件设置背景颜色?

Posted

技术标签:

【中文标题】如何在 Flutter 的主小部件中为小部件设置背景颜色?【英文标题】:How to set a background color for a widget inside a main widget in Flutter? 【发布时间】:2021-12-31 22:21:18 【问题描述】:

我有一个容器小部件,我的所有代码都在其中用于特定页面。它有一个背景图像,在容器内,有一个 Center 小部件。我想将中心小部件的背景颜色设置为白色,但这样做时,整个屏幕的背景都变为白色。请问我怎样才能做到这一点?

return Container(
      decoration: BoxDecoration(
        image: DecorationImage(
          image: AssetImage('Assets/images/loginbg2.jpg'),
          fit: BoxFit.cover
        ),
      ),
    child: Scaffold(
      backgroundColor: Colors.transparent, //code for background image



body: Center(
        child:Container(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Align(
              alignment: Alignment.topLeft,
              child: Padding(
                padding: EdgeInsets.fromLTRB(40, 0, 0, 0),
                child: Text(
                  "Welcome back!",
                  textAlign: TextAlign.left,
                  style: TextStyle(
                    fontSize: 30.0,
                    fontWeight: FontWeight.bold,
                    color: Colors.white,
                  ),
                ),
              )
            ),
            SizedBox(
              height: 20.0,
            ), //code for center widget

【问题讨论】:

【参考方案1】:

这可能是因为 Center 小部件中的 Column 小部件占据了整个屏幕。

一个 Column 小部件(除非受到限制)正在占用它可以获得的所有空间。

现在尝试通过移除 Column 小部件来解决您的问题,并且只使用 Center 小部件内的容器并定义它​​的高度和宽度。查看您想要的背景是否重新出现在视图中。

【讨论】:

谢谢。我刚刚为容器小部件添加了宽度和高度并设置了背景颜色,它就起作用了。 很高兴听到它成功了!

以上是关于如何在 Flutter 的主小部件中为小部件设置背景颜色?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android Studio 中为小部件设置不高度?

Flutter:在从小部件树中删除时或在其生命周期结束时为小部件设置动画?

在 Flutter 中的小部件之间传递数据的最佳方式

在页脚区域中为小部件添加第四列

根据 Flutter 中的选定类别为小部件元素分配不同的颜色

如何在颤动中加载主小部件之前显示加载小部件?