当前位置: 首页 > 知识库问答 >
问题:

如何在颤振中实现圆角图像

毕霖
2023-03-14

我正在使用Flutter制作一个关于电影的信息列表。现在我希望左边的封面图片是圆角图片。我做了以下操作,但没有成功。谢谢

    getItem(var subject) {
    var row = Container(
      margin: EdgeInsets.all(8.0),
      child: Row(
        children: <Widget>[
          Container(
            width: 100.0,
            height: 150.0,
            decoration: BoxDecoration(
              borderRadius: BorderRadius.all(Radius.circular(8.0)),
              color: Colors.redAccent,
            ),
            child: Image.network(
              subject['images']['large'],
              height: 150.0,
              width: 100.0,
            ),
          ),
        ],
      ),
    );
    return Card(
      color: Colors.blueGrey,
      child: row,
    );
  }

如下所示

共有3个答案

冯浩旷
2023-03-14
  • Using CircleAvatar:

    CircleAvatar(
      radius: 48, // Image radius
      backgroundImage: NetworkImage('imageUrl'),
    )
    
    ClipOval(
      child: SizedBox.fromSize(
        size: Size.fromRadius(48), // Image radius
        child: Image.network('imageUrl', fit: BoxFit.cover),
      ),
    )
    

    • Using CircleAvatar:

      CircleAvatar(
        radius: 56,
        backgroundColor: Colors.red,
        child: Padding(
          padding: const EdgeInsets.all(8), // Border radius
          child: ClipOval(child: Image.network('imageUrl')),
        ),
      )
      
      Container(
        padding: EdgeInsets.all(8), // Border width
        decoration: BoxDecoration(color: Colors.red, shape: BoxShape.circle),
        child: ClipOval(
          child: SizedBox.fromSize(
            size: Size.fromRadius(48), // Image radius
            child: Image.network('imageUrl', fit: BoxFit.cover),
          ),
        ),
      )
      

      ClipRRect(
        borderRadius: BorderRadius.circular(20), // Image border
        child: SizedBox.fromSize(
          size: Size.fromRadius(48), // Image radius
          child: Image.network('imageUrl', fit: BoxFit.cover),
        ),
      )
      

      final borderRadius = BorderRadius.circular(20); // Image border
      
      Container(
        padding: EdgeInsets.all(8), // Border width
        decoration: BoxDecoration(color: Colors.red, borderRadius: borderRadius),
        child: ClipRRect(
          borderRadius: borderRadius,
          child: SizedBox.fromSize(
            size: Size.fromRadius(48), // Image radius
            child: Image.network('imageUrl', fit: BoxFit.cover),
          ),
        ),
      )
      

      还有其他方法,比如使用DecoratedBox,但这会让答案有点太长

景凌
2023-03-14

您还可以使用Flitter附带的CircleAvatar

CircleAvatar(
  radius: 20,
  backgroundImage: NetworkImage('https://via.placeholder.com/140x100')
)
游皓
2023-03-14

使用ClipRRect它将完美地工作。

ClipRRect(
    borderRadius: BorderRadius.circular(8.0),
    child: Image.network(
        subject['images']['large'],
        height: 150.0,
        width: 100.0,
    ),
)
 类似资料:
  • 我对flutter还是新手,我一直试图在条形图中显示http请求中的一些数据。我找不到任何例子。我希望你们中的一些人能帮忙:) 我想使用网上画廊的这张图表。我只是为我的应用程序更改了类的名称: 现在我想把这两者结合起来。 数据是这样的: [{“时间戳”:“2018-06-29 14:39:18”,“RPM”:0,“RPM_Filter”:0,“accel”:0,“temp1”:104,“temp2

  • 我想创建一个flutter应用程序,它有2个明暗模式主题,通过应用程序内的开关进行更改,默认主题是默认的android主题。 我需要将一些自定义颜色传递给其他小部件,我不想只是配置材料主题。 如何检测用户设备默认主题 第二个问题是如何为整个应用程序提供主题 第三个问题是如何通过运行时间的简单切换来改变主题

  • 本文向大家介绍Android实现圆形图片或者圆角图片,包括了Android实现圆形图片或者圆角图片的使用技巧和注意事项,需要的朋友参考一下 Android圆形图片或者圆角图片的快速实现,具体内容如下 话不多说直接上code xml文件布局 初始化控件之后用工具类加载 //第一个参数上下文,第二个控件名称,第三个图片url地址,第四个参数圆角大小 ViewUtils.loadImageRadius(

  • 试图在flutter中加载图像,但无法做到这一点,得到以下错误 I/Flutter(3214):IMAGE RESOURCE SERVICE捕获的异常(3214):引发以下断言解析图像编解码器:I/Flutter(3214):无法加载资产:资产/test.jpg I/Flutter(3214):I/Flutter(3214):引发异常时,这是堆栈:I/Flutter(3214):#0 Platfo

  • 目前我正在尝试颤振网页,我需要在颤振主频道工作。但是,后来我需要继续我的其他项目。在他们身上,我正在研究颤振稳定通道。 但是,每当我使用命令“flutter channel stable”或“fluter channel master”切换我的flutter通道时,它每次都会重新下载sdk和其他工具。 目前,我已经下载了稳定的颤振sdk和稳定的dart sdk。 我已将它们移动到“FlutterS

  • 以下是firebase文档数据 我想向购买的id添加一个新的映射值。这是当前代码 但是使用此代码替换了map值,如何向现有map添加另一个map值 这样地