zoukankan      html  css  js  c++  java
  • Flutter 图片、圆形头像、圆角图片....各种形状

    图片

    1. 本地图片

     Image.asset 加载项目资源包的图片 

    复制代码
    //先将图片拷贝到项目 images 目录中,然后在 pubspec.yaml文件配置文件相对路径到 assets 
    Image.asset(
      'images/cat.jpg',
       200,
      height: 200,
    )
    复制代码

     Image.file 加载手机内置或外置存储的图片

    复制代码
    //加载Android平台的外置存储图片需要AndroidManifest.xml配置android.permission.READ_EXTERNAL_STORAGE权限
    Image.file(
      File('/0/images/cat.jpg'),
       200,
      height: 200,
    )
    复制代码

    2. 网络图片

     Image.network 无本地缓存

    Image.network(
      'https://pic4.zhimg.com/v2-19dced236bdff0c47a6b7ac23ad1fbc3.jpg',
       200,
      height: 200,
    )

     FadeInImage.assetNetwork  淡入效果,无本地缓存

    复制代码
    FadeInImage.assetNetwork(
      placeholder: 'images/avatar.png',
      image: 'https://pic1.zhimg.com/v2-7fab628481a26f025188b095b5cfafbc.jpg',
       200,
      height: 200
    )
    复制代码

     CachedNetworkImage  第三方控件,有本地缓存和淡入效果

    复制代码
    //1、将依赖框架配置到pubspec.yaml文件
    dependencies:
      cached_network_image: ^0.7.0
    
    //2、引入相关类
    import 'package:cached_network_image/cached_network_image.dart';
    
    //3、使用控件,默认自带图片淡入效果
    CachedNetworkImage(
      imageUrl: 'https://pic4.zhimg.com/v2-19dced236bdff0c47a6b7ac23ad1fbc3.jpg',
       200,
      height: 200,
    )
    复制代码

    圆形头像

    方式1: CircleAvatar

    复制代码
    CircleAvatar(
      //头像半径
      radius: 60,
      //头像图片 -> NetworkImage网络图片,AssetImage项目资源包图片, FileImage本地存储图片
      backgroundImage: NetworkImage(
        'https://pic2.zhimg.com/v2-639b49f2f6578eabddc458b84eb3c6a1.jpg'
      ),
    )
    复制代码

    方式2: ClipOval

    复制代码
    ClipOval(
      child: Image.network(
        'https://pic2.zhimg.com/v2-639b49f2f6578eabddc458b84eb3c6a1.jpg',
         120,
        height: 120,
        fit: BoxFit.cover,
      ),
    )
    复制代码

    方式3:  Container + BoxDecoration

    复制代码
    Container(
       120,
      height: 120,
      decoration: BoxDecoration(
        shape: BoxShape.circle,
        image: DecorationImage(
          image: NetworkImage('https://pic2.zhimg.com/v2-639b49f2f6578eabddc458b84eb3c6a1.jpg'),
          fit: BoxFit.cover
        )
      )
    )
    复制代码

    圆角图片

    方式1: ClipRRect

    复制代码
    ClipRRect(
      borderRadius: BorderRadius.circular(8),
      child: Image.network(
        'https://pic2.zhimg.com/v2-639b49f2f6578eabddc458b84eb3c6a1.jpg',
         120,
        height: 120
      )
    )
    复制代码

    方式2: Container + BoxDecoration 

    复制代码
    Container(
       120,
      height: 120,
      decoration: BoxDecoration(
        borderRadius: BorderRadius.circular(8),
        image: DecorationImage(
          image: NetworkImage('https://pic2.zhimg.com/v2-639b49f2f6578eabddc458b84eb3c6a1.jpg')
        )
      )
    )
    复制代码

    各种形状

    使用ShapeDecoration可以做出各种形状

    • 斜切角: BeveledRectangleBorder
    • 圆角: RoundedRectangleBorder
    • 超椭圆: SuperellipseShape
    • 体育场: StadiumBorder
    • 圆形: CircleBorder
    复制代码
    //斜切角形状示例
    Container(
       120,
      height: 120,
      decoration: ShapeDecoration(
        shape: BeveledRectangleBorder(
          borderRadius: BorderRadius.circular(16)
        ),
        image: DecorationImage(
          fit: BoxFit.cover,
          image: NetworkImage('https://pic2.zhimg.com/v2-639b49f2f6578eabddc458b84eb3c6a1.jpg')
        )
      )
    )
    复制代码
  • 相关阅读:
    怎么继续程序员这条路
    深入理解Flash Player的应用程序域(Application Domains)(转载)
    网站策划未来趋势
    截取网页任意部分讨论
    如果你是一个有爱心的人或者即将成为一个有爱心的人 请投上一票吧
    prototype.js参考
    ASP.NETweb编程常用到的27个函数集
    C#实现web信息抓取
    12306火车票网站自动登录工具
    Flex和.net Webservice之间多层结构开发
  • 原文地址:https://www.cnblogs.com/yiweiyihang/p/11678692.html
Copyright © 2011-2022 走看看