flutter开屏图,flutter 开屏

Flutter(6):基础组件之Image

Image是一个用于展示图片的组件。支持 JPEG、PNG、GIF、Animated GIF、WebP、Animated WebP、BMP 和 WBMP 等格式。

创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、做网站、沈河网络推广、小程序开发、沈河网络营销、沈河企业策划、沈河品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供沈河建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com

Image.asset - 用于从资源目录的显示图片,需要在 pubspec.yaml 文件中声明。

Image.network - 用于从网络上显示图片。

Image.file - 用于从文件里显示图片。

Image.memory - 用于从内存里(Uint8List)显示图片。

alignment → AlignmentGeometry - 图像边界内对齐图像。

centerSlice → Rect - 九片图像的中心切片。

color → Color - 该颜色与每个图像像素混合colorBlendMode。

colorBlendMode → BlendMode - 用于 color 与此图像结合使用。

fit → BoxFit - 图像在布局中分配的空间。

gaplessPlayback → bool - 当图像提供者发生变化时,是继续显示旧图像(true)还是暂时不显示(false)。

image → ImageProvider - 要显示的图像。

matchTextDirection → bool - 是否在图像的方向上绘制图像 TextDirection。

repeat → ImageRepeat - 未充分容器时,是否重复图片。

height → double - 图像的高度。

width → double - 图像的宽度。

加载资源图片需要将图片资源放入工程中,例如:新建images文件夹,将图片放在该文件夹下,图片适配则是使用ios的方式1X,2X,3X:

然后在pubspec.yaml中配置assets:

加载资源/网络/本地文件图片/内存图片:

占位图加载图片:

圆形图片:1.裁剪实现 2.CircleAvatar实现 3.Container边框实现

圆角图片:1.裁剪实现 2.Container边框实现

BoxFit.contain 全图居中显示但不充满,显示原比例

BoxFit.cover 图片可能拉伸,也可能裁剪,但是充满容器

BoxFit.fill 全图显示且填充满,图片可能会拉伸

BoxFit.fitHeight 图片可能拉伸,可能裁剪,高度充满

BoxFit.fitWidth 图片可能拉伸,可能裁剪,宽度充满

BoxFit.scaleDown 效果和contain差不多, 但是只能缩小图片,不能放大图片

下一节学习基础组件之Text

(1)Flutter记录之启动页

一年半前玩过flutter,忘光光...现在是时候重新拾取了。~

启动页一般只放图片或者加几行文字。

1、创建好flutter项目之后,在lib文件下面新建launch.dart或xx.dart.

2、在根目录下新建images文件夹,如已有直接放入图片

3、flutter_yijiake.iml中加入注入该图片,并注意空格

4、在根目录下的test/widget_test.dart中更改默认的启动页为当前的启动页路径

5、最后重新设置启动时的页面

6、非常简单的启动页面放logo图片

值得一说的是,flutter框架的UI组件需要已new 组件的形式展开。

flutter 图片放大,图片详情,图片轮播

先上图(样式自己调整)

1.新建小部件

根据实际情况修改以下部分内容;

2.使用(index 为当前点击图片的下标,)

Flutter:快速创建简单闪屏页

近来闲暇时间一直在做Flutter,闪屏页是一个比较常见的需求,网上的闪屏页教程大部分是那种类似于广告页,而非iOS中的 LaunchScreen 性质的闪屏页.按照原来的方案我们要配置闪屏页的话,我们需要同时配置两端的闪屏页,那么有没有比较简单的方案来配置闪屏页呢? 毋庸置疑,当然是有了,那就是Flutter的插件 - flutter_native_splash . 接下来我们就来看一下具体应该怎么使用这个插件.

首先把 flutter_native_splash 导入到工程的 pubspec.yaml 中.这里需要注意的是需要放在 dev_dependencies 下,而不是 dependencies .具体如下所示.

接下来我们就来配置 flutter_native_splash ,在配置之前我们看一下 flutter_native_splash 的可配置项.

例如,我现在只有一个logo图片,那么我想生成iOS和android两端的闪屏页,这时候我只需在 pubspec.yaml 如下设置即可.

当然了,如果你有其他配置可以自行进行添加.

配置完成了,我们该如何生成呢?这时候需要我们打开终端 cd 到我们的工程目录下.如果是Android Studio 或者 VSCode 默认就是在当前工程目录下.

然后我们需要执行下面的三个命令来生成闪屏页

每一次都敲三个命令实属麻烦,我们把上诉的三个命令整合成一个命令,如下所示.

那么,我们不想使用该插件生成的闪屏页该怎么办呢?我们只需要执行下面命令即可.

注:每一次更换图片都是需要重新执行命令重新生成.

OK,上面就是关于 flutter_native_splash 的使用全部内容,其实比较简单,如果需要定制化的,建议还是各自平台配置各自的闪屏页.如果有任何问题欢迎在评论区批评指导,感谢大家了.

Flutter小部件之图片(Image)和图标(Icon)

在Flutter中,我们可以使用Image控件来显示图片,一般来讲我们的图片资源都来源于网络或者本地图片。

Flutter中的Image也是类似。

我们先来看看Image的构造方法

下面我们来看看其常用的属性

可以看到,其常用属性跟前端中的css很像。

下面我们来简单用一用Image控件

首先是必填参数image,它接收一个ImageProvider类型的值。ImageProvider是一个抽象类,他下面有下图这些实现类,由下面这些实现类可以看出,image是可以从资源,内存,网络,和文件中获取图片。

我们先来试试加载网络图片

首先看看NetworkImage构造方法,很简单,传个url就可以了

如下:

嗯,就是这么简单。其他3种情况使用也是类似的,自行看源码即可。

实际上,Flutter给我们提供了扩展方法,使用起来更加简单,通常我们直接使用提供的扩展方法即可

如下

可以看到,他们的构造方法基本类似。

所以我们也可以这样写,跟上面的效果是一致的。

大致分为一下几步

1.创建一个文件夹,用于存放图片,如图,我创建了一个imgs的文件夹,放了一张图片

2.在pubspec.yaml中声明资源,注意声明的时候路径和前面的-是有间隔的,不然的话会报#/properties/flutter/properties/assets: type: wanted [array] got -imgs/code.png

类似的错误,声明完成后点击右上方的packages get

下面我们再来看看其他属性。

width,height

宽高没什么好说的,就是设置宽度和高度

配合color使用,用于设置颜色的混合模式。BlendMode是一个枚举,他有很多值

详细解析还是看官方文档吧,值太多了,我们随便用用

用于设置图片的填充方式,当图片本身小于设置的宽高或者比父控件的宽高小时,我们可以设置该属性控制图片的显示。

其值的类型是BoxFit。是个枚举

具体含义还是直接看文档即可

设置图片的对齐方式,接收一个Alignment类型的值,值如下,很好理解

为了方便看效果我们在外边套了个Container,简单的把它理解为一个容器布局就可以了,类似于html中的div或android中的Layout,我们给Container设置了宽高和背景颜色。

bottomLeft效果如下,其他的自行尝试

相对于Image,ICON可以像web一样使用字体图标,并且可以使用矢量图,无需担心失真的问题,并且体积相对较小。

我们先来看看其构造方法

很简单,我们直接来用一用

默认情况下,pubspec.yaml中uses-material-design的值为true.我们默认就可以使用Material Design字体图标

Flutter应用启动页设置,解决 白/黑 屏情况

出现此情况的原因有两种

解决:

找到 \app\src\main\res\drawable\launch_background.xml 文件,这个里面初始化了布局标签,只需要把图片替换为我们自己的就可以。

或者根据不同手机的分辨率 在mipmap下放置图片例如:

之后前往 styles.xml 文件设置启动页

重新打包就可以看到 刚刚设置的启动页了

效果例如:

[图片上传失败...(image-7e5c2-1586668143446)]

至此可以流畅的打开启动页了


标题名称:flutter开屏图,flutter 开屏
文章出自:http://myzitong.com/article/dsijdjh.html