Flutter -------- 加载本地图片资源和网络图片

在Flutter加载本地图片资源

在Flutter项目目录下创建文件夹 images ,在文件夹中添加几张图片

指定资源

pubspec.yaml文件中

version: 1.0.0+1

environment:
  sdk: ">=2.1.0 <3.0.0"

--------


flutter:

this:
  assets:
    - images/lake.jpg
    - images/a.png
    - images/pic1.png
    - images/pic2.png
    - images/loading_circle.gif

该assets部分的flutter部分指定应包含在应用程序中的文件。 每个asset都通过相对于pubspec.yaml文件所在位置的显式路径进行标识。

asset的声明顺序是无关紧要的。asset的实际目录可以是任意文件夹(在本示例中是images)。

 


代码:

class UITest2_Image extends StatelessWidget{

  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return Scaffold(
      appBar: new AppBar(
        title: new Text("Image"),
      ),
      body: new Center(

        //水平平分图片
        child: new Row(
          mainAxisAlignment: MainAxisAlignment.spaceEvenly,
          children: <Widget>[
            new Image.asset('images/a.png',width: 100,height: 100,),
            new Image.asset('images/a.png',width: 100,height: 100,),
            new Image.asset('images/a.png',width: 100,height: 100,),
          ],
        ),


      //垂直平分图片
      /*  child: new Column(
          mainAxisAlignment: MainAxisAlignment.spaceEvenly,
          children: <Widget>[
            new Image.asset('images/a.png',width: 100,height: 100,),
            new Image.asset('images/a.png',width: 100,height: 100,),
            new Image.asset('images/a.png',width: 100,height: 100,),
          ],
        ),*/

      ),
    );
  }
}

官方文档

https://docs.flutter.io/flutter/painting/AssetImage-class.html

https://docs.flutter.io/flutter/widgets/Image-class.html

 

网络图片实现:

class NetImage extends StatelessWidget{

  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return new Scaffold(
      appBar: new AppBar(
        title: new Text("Image"),
      ),
      body: Column(
        children: <Widget>[
          new Image.network("https://avatars3.githubusercontent.com/u/19513504?s=460&v=4"),
          //占位符图片(默认显示的图片)
          new FadeInImage.assetNetwork(placeholder: 'images/loading_circle.gif', image: "https://avatars3.githubusercontent.com/u/19513504?s=460&v=4"),
          //gif
          new Image.network('https://github.com/flutter/plugins/raw/master/packages/video_player/doc/demo_ipod.gif?raw=true',)
        ],
      ),
    );
  }
}

参考文档:

https://docs.flutter.io/flutter/widgets/Image/Image.network.html

 

 

转载于:https://my.oschina.net/zhangqie/blog/3049620

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值