1.加载本地图片

1.在项目根文件夹下新建images文件夹,再在images文件夹下新建2.0x、3.0x、4.0x这三个文件夹,将合适的图片分别放进这4个文件夹中,并保持名称相同。
示例图:
flutter加载本地图片
2.在yaml文件中配置图片
示例图:
yaml配置本地图片
3.在代码中加载本地图片
示例:

Container(
        height: 300,
        width: 300,
        child: Image.asset(
          "images/painting.jpg",
          fit: BoxFit.cover,
        ),
      ),

效果图:
flutter加载本地图片

2.加载网络图片

Image.network(图片url地址)

示例:

Image.network(
          "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1583483377695&di=56a38f2813d5d0164bbb2baa54466a47&imgtype=0&src=http%3A%2F%2Fattach.bbs.miui.com%2Fforum%2F201310%2F19%2F235356fyjkkugokokczyo0.jpg",
        ),

3.图片拉伸方式

flutter中的图片拉伸主要通过fit来实现。
其对应类是BoxFit。
其中常用的有:
BoxFit.contain(原图显示)
BoxFit.cover(自适应填充显示,图片不会变形,但可能被剪裁)
BoxFit.fitHeight(纵向填满,横向可能被剪裁)
BoxFit.fitWidth(横向填满,纵向可能被剪裁)
BoxFit.fill(填充视图,会使图片变形)

示例:

Image.network(
          "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1583483377695&di=56a38f2813d5d0164bbb2baa54466a47&imgtype=0&src=http%3A%2F%2Fattach.bbs.miui.com%2Fforum%2F201310%2F19%2F235356fyjkkugokokczyo0.jpg",
          fit: BoxFit.cover,
        ),

4.圆形图片

方法1:通过ClipOval实现(推荐)

示例:

Container(
        height: 300,
        width: 300,
        child: ClipOval(
          child: Image.network(
            "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1583486396591&di=328468b485f670c63c389195b15809a2&imgtype=0&src=http%3A%2F%2Fpic1.win4000.com%2Fwallpaper%2Fd%2F5458309a91914.jpg",
            fit: BoxFit.cover,
          ),
        ),
      ),

效果图同方法2

方法2:通过Container实现
示例:

 Container(
        height: 300,
        width: 300,
        decoration: BoxDecoration(
          color: Colors.white,
          borderRadius: BorderRadius.circular(150),
          image: DecorationImage(
            image: NetworkImage(
              "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1583486396591&di=328468b485f670c63c389195b15809a2&imgtype=0&src=http%3A%2F%2Fpic1.win4000.com%2Fwallpaper%2Fd%2F5458309a91914.jpg",
            ),
            fit: BoxFit.cover,
          )
        ),
      ),

方法3:通过CircleAvatar组件实现,多用于头像

CircleAvatar(
     backgroundImage: NetworkImage("https://dss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=2841648446,236398816&fm=26&gp=0.jpg"),
                  ),

效果图:flutter圆形图片

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐