我正在尝试将背景图像添加到我的Flutter应用中,因此我也经历了所有类似的问题。该应用程序m运行正常,但未显示该图像。
这是我的小部件代码:
<h1>Typewriter</h1>
<button onclick=" typeWriter()">Click me</button>
<p id="demo"></p>
该应用程序运行良好,并且堆栈上的第二个小部件(即listView)正常运行,但图像未显示。
有什么想法吗?
答案 0 :(得分:9)
Scaffold
不支持背景图片的任何概念。您可以做的就是给Scaffold
提供透明的颜色并将其放在Container
中,并使用decoration
属性提取所需的背景图像。应用程序栏也是透明的。
Widget build(BuildContext context) {
return MaterialApp(
title: 'Welcome to Flutter',
home: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage("images/logo.png"), fit: BoxFit.cover)),
child: Scaffold(
backgroundColor: Colors.transparent,
appBar: AppBar(
elevation: 0,
backgroundColor: Colors.transparent,
title: Text('My App'),
centerTitle: true,
leading: IconButton(
icon: Icon(
Icons.list,
color: Colors.white,
),
onPressed: () {}),
),
),
),
);
}
答案 1 :(得分:4)
return MaterialApp(
title: "MoonLight",
home: Container(
decoration:new BoxDecoration(
image: new DecorationImage(
image: new AssetImage("graphics/moon.jpg"),
fit: BoxFit.cover,)
),
child: Scaffold(
backgroundColor: Colors.transparent,
),
),
),
答案 2 :(得分:1)
Widget build(BuildContext context) {
Size size = MediaQuery.of(context).size;
return Container(
decoration: BoxDecoration(
color: Colors.white,
image: DecorationImage(
image: AssetImage("asset/images/image.png"),
fit: BoxFit.cover)),
child: Scaffold(
backgroundColor: Colors.transparent,
),
);
}
使用此选项将不会使黑色具有透明背景。
答案 3 :(得分:0)
使用BoxDecoration
作为decoration
的{{1}}属性:
Container
答案 4 :(得分:0)
使用DecoratedBox
:
@override
Widget build(BuildContext context) {
return DecoratedBox(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage("your_asset"),
fit: BoxFit.cover,
),
),
child: //...,
);
}