首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在颤振中拟合图像资产

在颤振中拟合图像资产
EN

Stack Overflow用户
提问于 2022-01-31 04:39:10
回答 5查看 866关注 0票数 0

我试着用我的CircleAvatar来拟合这个图像,我试着设置图像的高度和宽度,但是它没有工作。曾尝试过BoxFit.fill、BoxFit.cover、BoxFit.fitWidth和BoxFit.fitHeight,但仍然没有成功。

下面是CircleAvatar:

我的密码是:

代码语言:javascript
复制
  ClipOval(
    child: conversation.image=='' ? 
           CircleAvatar(child: Image.asset('assets/images/defaultuser.png',),radius: 25,) : 
           CircleAvatar(child: Image.network(conversation.image!),radius: 25,)
    ),

有什么解决办法吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2022-01-31 05:37:20

使用backgroundImage而不是CircleAvatarchild属性。

代码语言:javascript
复制
class MyWidget extends StatelessWidget {
  final networkImage =
      'https://images.pexels.com/photos/462118/pexels-photo-462118.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500';
  final assetImage = 'assets/images/defaultuser.png';

  @override
  Widget build(BuildContext context) {
    return Center(
      child: CircleAvatar(
        radius: 25.0,
        backgroundImage: networkImage.isEmpty
            ? AssetImage(assetImage)
            : NetworkImage(networkImage) as ImageProvider,
        child: const SizedBox.shrink(),
      ),
    );
  }
}
票数 0
EN

Stack Overflow用户

发布于 2022-01-31 04:58:01

ClipOval包装Sizebox,使它始终具有相同的大小和高度

代码语言:javascript
复制
                   SizedBox(
                            height: 60,
                            width: 60,
                            child: ClipOval(
                                    child: conversation.image=='' ? 
           Image.asset('assets/images/defaultuser.png',fit:BoxFit.cover,):
           Image.network(conversation.image!,fit:BoxFit.cover,),))

这应该生成如下图像:https://i.stack.imgur.com/uxq4c.png

票数 0
EN

Stack Overflow用户

发布于 2022-01-31 05:01:37

代码语言:javascript
复制
ClipOval(
                                  child: CachedNetworkImage(
                                    width: 100.0,
                                    height: 100.0,
                                    fit: BoxFit.cover,
                                    imageUrl: "",
                                    placeholder: (context, url) =>
                                        new CircularProgressIndicator(),
                                    errorWidget: (context, url, error) =>
                                        new Icon(
                                      Icons.account_circle,
                                      color: Colors.blue,
                                      size: 100,
                                    ),
                                  ),
                                ),
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70921349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档