Flutter——Image Widget篇

在项目中,图片资源肯定是必不可少的,在Fluuter中,显示图片我们就要用到Image这个组件。

Image的几种加载方式

  • Image.asset:加载资源图片,就是加载项目资源目录中的图片。
  • Image.network:加载网络图片。
  • Image.file:加载本地图片,就是加载本地文件中的图片,这个是一个绝对路径。
  • Image.memory: 加载Uint8List资源图片。

比如这里,我们从网络上加载一张图片

import 'dart:ui';
import 'package:flutter/material.dart';

void main() => runApp(ImageApp());

class ImageApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        backgroundColor: Colors.green,//加背景色是为了更好的观察图片
        appBar: AppBar(
          title: Text("Image widget"),
        ),
        body: Image.network("https://upload-images.jianshu.io/upload_images/5089080-40fec4128271e592.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp"),
      ),
    );
  }
}

fit----根据父元素控制图片的拉伸和挤压

  • BoxFit.fill:图片拉伸并充满父容器。
  • BoxFit.contain:显示原比例。
  • BoxFit.cover:不变形使图片充满整个容器,可能拉伸,可能裁切。
  • BoxFit.fitWidth:宽度横向充满,可能拉伸,可能裁切。
  • BoxFit.fitHeight :高度纵向充满,可能拉伸,可能裁切。
  • BoxFit.scaleDown:效果和contain差不多,但是此属性不允许显示超过源图片大小,可小不可大。

repeat----图片重复

  • ImageRepeat.repeat : 横向和纵向都进行重复,直到铺满整个画布。
  • ImageRepeat.repeatX: 横向重复,纵向不重复。
  • ImageRepeat.repeatY:纵向重复,横向不重复。
  child: Image.network(
            "https://upload-images.jianshu.io/upload_images/5089080-40fec4128271e592.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp",
            repeat: ImageRepeat.repeat,
          )
image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容