使用背景图片并在上面放置支架

时间:2019-11-14 08:08:24

标签: flutter dart

它将整个应用程序使用背景图像。

所以我的计划是使用Stack,包括背景图像和支架。

在此代码中,它显示Title.png,但剂量显示BackGround.png

我应该在哪里修复?

  @override
  Widget build(BuildContext context) {
    return MaterialApp(

      home: Stack(
        children: <Widget>[
          new Image.asset('images/BackGround.png',
            fit: BoxFit.cover,
          ),
          Scaffold(
            body: Center(
              child: Image.asset('images/Title.png')
            ),
          ),
        ],
      ),
    );
  }

2 个答案:

答案 0 :(得分:1)

我认为它正在显示您的“ BackGround.png”图像。但是,“ Title.png”图像被覆盖在其上方。这就是为什么您无法查看它。

要查看其是否已渲染,只需按以下步骤替换代码,

home: Stack(
        children: <Widget>[
          Scaffold(
            body: Center(
              child: Image.asset('images/Title.png')
            ),
          ),
          new Image.asset('images/BackGround.png',
            fit: BoxFit.cover,
          ),
        ],
      ),

Stack总是渲染他的第一个孩子,然后是第二个,依此类推。因此,就您而言,无论您要上传的背景是什么,都应该放在首位。

答案 1 :(得分:0)

将您的脚手架放置在带有背景图像的容器中,并使用Colors.transparent作为脚手架的backgroundColor属性,如下所示:

Container(
  //your image here
  decoration: BoxDecoration(
    image: DecorationImage(
      image: AssetImage("assets/bg.jpg"),
      fit: BoxFit.cover,
    ),
  ),
  //your Scaffold goes here
  child: Scaffold(
    backgroundColor: Colors.transparent,
    body: Container(),
  ),
);