如何在 Flutter 中的主小部件内设置小部件的背景颜色?
How to set a background color for a widget inside a main widget in Flutter?
我有一个容器小部件,其中我的所有代码都用于特定页面。它有一个背景图像,在容器内部,有一个中心小部件。我想将中心小部件的背景颜色设置为白色,但这样做时,整个屏幕的背景都变成了白色。请问我怎样才能做到这一点?
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
这可能是因为您的中心小部件中的列小部件占据了整个屏幕。
Column 小部件(除非受到限制)占用了它可以获得的所有 space。
暂时删除“列”小部件并仅使用“中心”小部件内的容器并定义其高度和宽度来尝试解决您的问题。查看您想要的背景是否重新出现。
我有一个容器小部件,其中我的所有代码都用于特定页面。它有一个背景图像,在容器内部,有一个中心小部件。我想将中心小部件的背景颜色设置为白色,但这样做时,整个屏幕的背景都变成了白色。请问我怎样才能做到这一点?
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
这可能是因为您的中心小部件中的列小部件占据了整个屏幕。
Column 小部件(除非受到限制)占用了它可以获得的所有 space。
暂时删除“列”小部件并仅使用“中心”小部件内的容器并定义其高度和宽度来尝试解决您的问题。查看您想要的背景是否重新出现。