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')
        )
      )
    )
    复制代码
  • 相关阅读:
    陈天桥:重点布局影音文娱业务及海内市场
    瑞信维持新浪跑赢大盘评级
    快讯:空中网第四季度净利501万美元同比涨148%
    传高盛与德劭前合伙人组5亿美元私募基金
    CodeFirst 关系创建——Fluent API配置多重关系,关闭级联删除的方法
    笔记:IE下 jquery的fadeIn与fadeOut方法失效的BUG
    Codefirst Fluent API创建关系
    javascript拖动效果的一个注意事项:拖动图片时,mousemove事件会被中断
    通过下拉菜单筛选GridPanel的数据【转】
    as3.0学习笔记——坐标轴、并记录画图所犯的两个低级错误
  • 原文地址:https://www.cnblogs.com/yiweiyihang/p/11678692.html
Copyright © 2011-2022 走看看