Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何将容器中的图像设置为颤振中的背景_Flutter_Dart_Background Image_Assets_Cardview - Fatal编程技术网

Flutter 如何将容器中的图像设置为颤振中的背景

Flutter 如何将容器中的图像设置为颤振中的背景,flutter,dart,background-image,assets,cardview,Flutter,Dart,Background Image,Assets,Cardview,我想设计一个自定义组件卡,一个附加在卡上的图像,标题部分将覆盖在图像部分,描述将添加到图像部分下面。如何在Flatter中覆盖图像上的文本 class CardWithImage extends StatelessWidget { final String title, buttonText; final String subTitle; final String body; final asset; CardWithImage({ this.title,

我想设计一个自定义组件卡,一个附加在卡上的图像,标题部分将覆盖在图像部分,描述将添加到图像部分下面。如何在Flatter中覆盖图像上的文本

class CardWithImage extends StatelessWidget {
  final String title, buttonText;
  final String subTitle;
  final String body;
  final asset;

  CardWithImage({
    this.title,
    this.subTitle,
    this.body,
    this.asset,
    this.buttonText,
  });

  @override
  Widget build(BuildContext context) {
    return Container(
      width: MediaQuery.of(context).size.width,
      margin: EdgeInsets.all(15),
      decoration: BoxDecoration(
        color: ThemeColors.primaryColor,
        borderRadius: BorderRadius.circular(5),
        boxShadow: [
          BoxShadow(
            color: ThemeColors.grey5,
            blurRadius: 10,
            spreadRadius: 5,
            offset: Offset(3, 3),
          )
        ],
      ),
      child: Column(
        children: <Widget>[
          Image.asset(
            asset,
            height: 200,
            width: MediaQuery.of(context).size.width,
            fit: BoxFit.cover,
          ),

        ],
      ),
    );
  }
}
class CardWithImage扩展了无状态小部件{
最后一个字符串标题buttonText;
最后一串字幕;
最终管柱体;
最终资产;
带图像的卡片({
这个名字,
这个,副标题,,
这个,身体,,
这个,资产,,
这是buttonText,
});
@凌驾
小部件构建(构建上下文){
返回容器(
宽度:MediaQuery.of(context).size.width,
保证金:所有(15),
装饰:盒子装饰(
颜色:颜色。原色,
边界半径:边界半径。圆形(5),
boxShadow:[
箱形阴影(
颜色:ThemeColors.grey5,
半径:10,
扩展半径:5,
偏移量:偏移量(3,3),
)
],
),
子:列(
儿童:[
影像资产(
资产,
身高:200,
宽度:MediaQuery.of(context).size.width,
适合:BoxFit.cover,
),
],
),
);
}
}
使用

Container(
        decoration: BoxDecoration(
            image: DecorationImage(
                image: AssetImage("images/background.png"), fit: BoxFit.cover)),
        child:<Widget that needs to be in foreground>
        ......
容器(
装饰:盒子装饰(
图像:装饰图像(
image:AssetImage(“images/background.png”),fit:BoxFit.cover),
儿童:
......

您可以使用以下代码实现您的愿望卡

Container(
    child: Column(
      crossAxisAlignment: CrossAxisAlignment.start,
      children: <Widget>[
        Container(
          height: 200,
          decoration: BoxDecoration(
            image: DecorationImage(
                image: AssetImage('assets/images/background.png'),
                fit: BoxFit.cover),
          ),
          child: Align(
            alignment: Alignment.bottomCenter,
            child: Container(
              color: Colors.grey.withOpacity(0.3),
              height: 50,
              width: MediaQuery.of(context).size.width,
              child: Align(
                alignment: Alignment.centerLeft,
                child: Text(
                  "Title",
                ),
              ),
            ),
          ),
        ),
        Container(
          padding: EdgeInsets.all(10),
          child: Text(
            "Your Big Text ",
            textAlign: TextAlign.left,
          ),
        )
      ],
    ),
  ),
容器(
子:列(
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
容器(
身高:200,
装饰:盒子装饰(
图像:装饰图像(
image:AssetImage('assets/images/background.png'),
安装:BoxFit.盖),
),
子对象:对齐(
对齐:对齐.bottomCenter,
子:容器(
颜色:颜色。灰色。不透明度(0.3),
身高:50,
宽度:MediaQuery.of(context).size.width,
子对象:对齐(
对齐:alignment.centerLeft,
子:文本(
“头衔”,
),
),
),
),
),
容器(
填充:边缘设置。全部(10),
子:文本(
“你的大文本”,
textAlign:textAlign.left,
),
)
],
),
),