美文网首页
Flutter——Image Widget篇

Flutter——Image Widget篇

作者: 李晓通 | 来源:发表于2019-07-18 11:12 被阅读0次

    在项目中,图片资源肯定是必不可少的,在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://img.haomeiwen.com/i5089080/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://img.haomeiwen.com/i5089080/40fec4128271e592.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp",
                repeat: ImageRepeat.repeat,
              )
    
    image.png

    相关文章

      网友评论

          本文标题:Flutter——Image Widget篇

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