首页 > 解决方案 > Flutter 使网络图像占据全角

问题描述

我有这张卡,我想让任何图像占据卡的整个宽度,我尝试将宽度设置为 double.infinity 和 3000,但它不起作用。我也想在图像顶部写文字我该怎么做?如果我这样做会影响应用程序的性能吗?

 return Card(
            clipBehavior: Clip.antiAlias,
            elevation: 5,
            margin: EdgeInsets.fromLTRB(10, 20, 10, 24),
            child: Column(
              crossAxisAlignment: CrossAxisAlignment.start,
              children: <Widget>[
                new Expanded(
                  flex: 8,
                  child: new Container(
                    width: double.infinity,
                    child: ClipRRect(
                      borderRadius: BorderRadius.circular(4.0),
                      child: CachedNetworkImage(
                        fadeInDuration: Duration(milliseconds: 2000),
                        width: 3000,
                        imageUrl:
                            'https://images.alphacoders.com/560/thumb-350-560228.jpg',
                        placeholder: (context, url) =>
                            new CircularProgressIndicator(),
                      ),
                    ),
                  ),
                ),
                new Expanded(
                    flex: 2,
                    child: new Container(
                      child: MaterialButton(
                        minWidth: double.infinity,
                        color: Color(orange),
                        onPressed: () {},
                        child: Text(
                          'Read More',
                          style: TextStyle(color: Colors.white),
                        ),
                      ),
                      color: Colors.green,
                    ))
              ],
            ),
          );

标签: flutterflutter-layout

解决方案


CachedNetworkImage(
  imageUrl: "http://via.placeholder.com/200x150",
  imageBuilder: (context, imageProvider) => Container(
    decoration: BoxDecoration(
      image: DecorationImage(
          image: imageProvider,
          fit: BoxFit.cover,
          colorFilter:
              ColorFilter.mode(Colors.red, BlendMode.colorBurn)),
    ),
  ),
  placeholder: (context, url) => CircularProgressIndicator(),
  errorWidget: (context, url, error) => Icon(Icons.error),
),```
 Check out this in which fit parameter will solve your question

推荐阅读