Fluttter基础组件Image的使用
1.图片 Image
图片组件( Image)是显示图像的组件, Image 组件有多种构造函数 :
new Image:从 ImageProvider 获取图像 。
new Image.asset:加载资源图片。
new Image.file:加载本地图片文件。
new Image.network:加 载网络图片 。
new Image.memory:加载 Uint8List 资源图片 。
2.image.network是远程网络图片
class MyCont extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Container(
child: new Image.network(
'https://p.6463.com/360kuai/20210622/1624351047tit.png',
alignment: Alignment.topLeft,//左上角居中
fit:BoxFit.cover,//可能裁剪,充满整个容器。不会变形
),
width: 200.0,//容器宽
height: 100.0,//容器高
);
}
}


3设置圆形容器Container的两种方式
class MyCont extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Container(
width: 200.0,//容器宽
height: 200.0,//容器高
decoration: BoxDecoration(
//设置圆形的第一种方式
// borderRadius: BorderRadius.all(Radius.circular(100.0)),
// 设置圆形的第二种方式
borderRadius:BorderRadius.circular(100.0),
//颜色
color: Color.fromARGB(255, 192, 213, 1),
)
);
}
}
4设置圆形图片第1种方式
class MyCont extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Container(
width: 200.0,//容器宽
height: 200.0,//容器高
decoration: BoxDecoration(
//设置圆形的第一种方式
// borderRadius: BorderRadius.all(Radius.circular(100.0)),
// 设置圆形的第二种方式
borderRadius:BorderRadius.circular(100.0),
// 设置圆形图片
image: DecorationImage(
image: NetworkImage("https://p.6463.com/360kuai/20210622/1624351047tit.png"),
fit: BoxFit.cover
)
)
);
}
}
5.设置圆形图片的第2种方式
class MyCont extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Container(
child: new ClipOval(
child: Image.network(
'https://p.6463.com/360kuai/20210622/1624351047tit.png',
//保证在小图片的时候不变形
height: 100.0,
width: 100.0,
fit: BoxFit.cover,
),
),
);
}
}
6.引入本地土图片的方式
步骤1:
在项目的根目录下创建文件夹images也要放入
然后在images文件夹下创建 个2.0x文件夹,3.0x文件夹,4.0x文件夹
在每一个2.0下,3.0x,4.0x文件下放入对应的图片
同时在images也要放入2.0下,3.0x,4.0x下的图片

步骤2:
Flutter使用pubspec.yaml文件(位于项目根目录),
来识别应用程序所需的asset。
写上图片对应的路径
assets:
- images/bgg.png
- images/2.0x/bgg.png
- images/3.0x/bgg.png
- images/4.0x/bgg.png
注意: 由于 yaml 文件对缩进严格,
所以必须严格按照每一层两个空格的方式进行缩进,
此处assets前面应有两个空格。
还需要注意的是:引入本地图片后,
要重新启动一下flutter项目,flutter run
Flutter框架对加载过的图片是有缓存的(内存),
默认最大缓存数量是1000,最大缓存空间为100M
class MyCont extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Container(
child: new ClipOval(
child:Image.asset(
'images/bgg.png',
//保证在小图片的时候不变形
height: 100.0,
width: 100.0,
fit: BoxFit.cover,
),
),
);
}
}
Fluttter基础组件Image的使用的更多相关文章
- winform快速开发平台 -> 基础组件之分页控件
一个项目控件主要由及部分的常用组件,当然本次介绍的是通用分页控件. 处理思想:我们在处理分页过程中主要是针对数据库操作. 一般情况主要是传递一些开始位置,当前页数,和数据总页数以及相关关联的业务逻辑. ...
- CentOS安装LNMP环境的基础组件
注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. 在安装LNMP环境之前,请确保已经使用yum安装了以下各类基础组件(如果系统已自带,还可以考虑yum update下基础组件): ...
- Ext学习-基础组件介绍
1.目标 学习对象获取,组件基础,事件模型以及学习ExtJS中的基础组件的应用. 2.内容 1.对象获取 2.组件原理以及基础 3.事件模型 4.常用组件的介绍 3.学习步骤 1 ...
- 如何从零开始实现一个soa远程调用服务基础组件
说起soa远程调用基础组件,最著名的莫过于淘宝的dubbo了,目前很多的大型互联网公司都有一套自己的远程服务调用分布式框架,或者是使用开源的(例如dubbo),或者是自己基于某种协议(例如hessia ...
- android学习——必学基础组件
android基础组件是一个Android的开发人员必须要了解,且深刻理解的东西: 1.应用程序基础 2.应用程序组件 2.1.活动(Activities) 2.2.服务(Services) 2.3. ...
- Android 基础组件
基础组件 所有的控件都可以在java代码中创建出来,并且大部分的属性都对应set和get方法,比如 View view = new View(Context context) context是上下文 ...
- Akka(17): Stream:数据流基础组件-Source,Flow,Sink简介
在大数据程序流行的今天,许多程序都面临着共同的难题:程序输入数据趋于无限大,抵达时间又不确定.一般的解决方法是采用回调函数(callback-function)来实现的,但这样的解决方案很容易造成“回 ...
- App架构师实践指南三之基础组件
App架构师实践指南三之基础组件 1.基础组件库随着时间的增长,代码量的逐渐积累,新旧项目之间有太多可以服用的代码.下面是整理的公共代码库. 2.关于加密密钥的保护以及网络传输安全是移动应用安全最关键 ...
- JMeter各个基础组件简介
刚从LoadRunner转到JMeter,对JMeter的各种概念比较懵.在这里记录下.欢迎大家关注我的个人微信号:测试杂货铺. JMeter的各个功能都是它的组件来完成或实现的,下面来对JMeter ...
- Ansible playbook基础组件介绍
本节内容: ansible playbook介绍 ansible playbook基础组件 playbook中使用变量 一.ansible playbook介绍 playbook是由一个或多个“pla ...
随机推荐
- ubuntu如何安装redis
在终端下输入 sudo apt search redis 查找一下发现了 redis-server 如果找不到 你可能需要使用 update 更新一下了 sudo apt-get update 然后就 ...
- 基于nginx的tomcat负载均衡和集群(超简单)
今天看到"基于apache的tomcat负载均衡和集群配置 "这篇文章成为javaEye热点. 略看了一下,感觉太复杂,要配置的东西太多,因此在这里写出一种更简洁的方法. 要集群t ...
- mongo迁移工具之mongo-shake
最近需要进行MongoDB中数据迁移,之前使用过阿里系的redisShake感觉不错, 这次打算使用mongoShake来进行同步 github: https://github.com/alibaba ...
- Winform TabControl动态添加TabPage
在Winform中,标签页是我们很难绕开的一个控件,而且,我们经常有动态添加标签页的需求. 这里介绍一个最简单的添加方法: 首先,我们把需要添加的内容做成UserControl,这样,我们就可以在添加 ...
- 2023CCCC选拔赛
7-7 与零交换 给定排列\(p:0,1,2...n-1\),每次操作你只能将一个数字和\(0\)进行交换,然后将初始排列升序排列,请你找出最少的与\(0\)交换的次数 题解:思维 + 环 样例一: ...
- 探索实用的Java工具类
1.排序 有时需要对集合进行排序.此时可以使用Collections的sort方法. List<Integer> list = new ArrayList<>(); list. ...
- 生成条形码二维码DataMatrix条码.EAN码.39码.交叉25码.UPC码.128码.93码.ISBN码.Codabar等
1.引用Spire.Barcode 在Nuget包中安装Spire.Barcode 2.生成条形码 //创建 BarcodeSettings对象 BarcodeSettings settings = ...
- Dart代码混淆
Dart代码混淆 代码混淆是修改应用程序的二进制文件以使其更难被人类理解的过程.混淆会在编译后的 Dart 代码中隐藏函数和类名称,将每个符号替换为另一个符号. Flutter 的代码混淆仅适用于re ...
- 【Python】【爬虫】【爬狼】004_正则规则模板及其应用
# 正则规则模板 与 应用(一) 先看这些视频,是在哪个div里面的 for datapage in soup.find_all("div", class_="lpic& ...
- 比特币源码分析--深入理解区块链16.Base58编码和解码
比特币源码分析--深入理解区块链16.Base58编码和解码 Base58是比特币中使用的一种独特编码方式,它主要用于比特币的钱包地址,在前面文章已经介绍过如何通过椭圆曲线方程算法,通过私钥来生成 ...