美文网首页
Flutter - 常用基础组件(Wdiget)-Image

Flutter - 常用基础组件(Wdiget)-Image

作者: tp夕阳武士 | 来源:发表于2020-09-18 15:55 被阅读0次
属性or参数 类型 / 是否可选 作用
image ImageProvider的子类/@required 决定使用的图片来源
width double / 命名可选 宽度
height double / 命名可选 高度
fit Boxfit / 命名可选 填充方式
alignment Alignment / 命名可选 对齐方式,图片不铺满时才显示作用,还可以通过创Alignment(x,y),的方式设置
color Color / 命名可选 混入的颜色
colorBlendMode BlendMode / 命名可选 设定颜色的混入模式 ,类似于OpenGL的颜色混合模式
repeat ImageRepeat / 命名可选 当图片不铺满时,空余的地方重复显示图片

ImageProvider 的常用子类

子类名称 意义
AssetImage 从本地资源文件中读取图片
FileImage 加载文件中的图片资源
MemoryImage 加载内存图片资源
NetworkImage 从网络加载图片 ,这个还是一个抽闲类

1.NetworkImageDemo

class NetworkImageDemo extends StatelessWidget {
  const NetworkImageDemo({
    Key key,
    @required this.imageUrl,
  }) : super(key: key);

  final String imageUrl;

  @override
  Widget build(BuildContext context) {
    return Image(
      image: NetworkImage(
      imageUrl,//图片的网络地址;\
      ),
      width: 200,
      height: 200,

      // fit: BoxFit.fill ,
      alignment: Alignment.topLeft,

      color: Colors.red,
      colorBlendMode: BlendMode.colorBurn,

      repeat: ImageRepeat.repeatY,

    );
  }
}
class NetworkImageDemo2 extends StatelessWidget {
  const NetworkImageDemo2({
    Key key,
    @required this.imageUrl,
  }) : super(key: key);

  final String imageUrl;

  @override
  Widget build(BuildContext context) {
    return Image.network(
        imageUrl,
        width: 200,
        height: 200,

        // fit: BoxFit.fill ,
        alignment: Alignment.topLeft,

        color: Colors.red,
        colorBlendMode: BlendMode.colorBurn,

        repeat: ImageRepeat.repeatY,
    );
  }
}

2. AssetImageDemo

使用AssetImage要分4步走

  • 1.创建资源文件夹
  • 2.在pubspec.yaml中配置资源路径
  • 3.运行pub get
  • 4.根据路径使用图片
配置步骤.png

第四步,在代码中使用图片资源:

/*
* 使用资源文件中的图片需要3步
* 1.在flutter创建一个文件夹存放图片文件
* 2.在pubspec.yaml中配置图片路径
* 3.点击一下pub get
* 4.使用图片
* */
class AssetImageDemo extends StatelessWidget {
  const AssetImageDemo({
    Key key,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Image(
      image: AssetImage('assets/images/三味真火.png'),
    );
  }
}

3.Image设置圆角

//做一个圆角image
class CircleImage extends StatelessWidget {
  const CircleImage({
    Key key,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return CircleAvatar(
      radius: 350.0,
      backgroundImage: AssetImage(
          'assets/images/WechatIMG231.jpeg'
      ),
    );
  }
}

做圆角的方案还有很多种,这里只是给出其中一种方案

相关文章

网友评论

      本文标题:Flutter - 常用基础组件(Wdiget)-Image

      本文链接:https://www.haomeiwen.com/subject/jfalyktx.html