码迷,mamicode.com
首页 > 其他好文 > 详细

12-9【收货果实】Futter AI只能语音界面开发-1

时间:2020-02-15 13:03:02      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:占位符   底部   ane   png   实现   技术   start   开发   info   

调用语音识别,首先打开我们的首页
这里我们提供了_jumpToSpeak的方法
技术图片

创建语音识别页面

复制一个my_page.dart
技术图片
取名叫做speak_page
技术图片

技术图片
首先先来实现这个界面。中间有一段话,下面有三行文字。
技术图片
下面是一个动画的按钮。点击就会变小。右边还有一个关闭的按钮
技术图片

这里就用到了之前讲到的动画的相关知识。继承AnimatedWidgtet然后重写里面的方法
技术图片
下面定义两个动画,一个是透明度改变的动画,从1到0.5。第二个是大小尺寸的变化,定义一个大小的尺度的常量MIC_SIZE
技术图片
80到60 这样变化的一个区间
技术图片
定义构造方法。这个构造方法我们接收一个animation的参数
技术图片
实现build方法,先获取到animation。然后返回的widget,最外层用Opacity,可以改变透明度。
技术图片

技术图片

技术图片

中间放一个ICON
技术图片

底部按钮

这里用到了FractionallySizedBox撑满整个屏幕的宽度,设置他的widthFactor设置为1。然后我们希望布局可以叠加,这里用Stack()
技术图片
a按下去的时候调用_speakStart()方法
技术图片
分别定义开始、结束、和取消的方法,这里先空着 
技术图片
手指松开,停止录音
技术图片
长按,并滑出的时候,这是一个canel
技术图片
上面是文字,下面是圆型的按钮。
技术图片
用Column布局
技术图片
在上面定义一个变量
技术图片
技术图片

技术图片
在点击的时候放大和缩小,造成布局的宽度和高度也会放大和缩小。这个时候上面那个识别中的文字就会因为下面的布局的宽度和高度变化。而改变了识别中这个文字的位置。所以为了不改变这个位置。我们用了一个Container作为一个占位符。
技术图片
技术图片
这也算是本节课的彩蛋
技术图片
下面放一个center,里面放一个AnimatedMic
技术图片
在上面定义animation然后初始化一下。
技术图片

技术图片
在这里我们要定义animationController来控制我们的动画。
技术图片
技术图片
技术图片
添加动画的listener。在东海海执行完成之后,我们希望动画能够循环执行。
技术图片

结束

 

12-9【收货果实】Futter AI只能语音界面开发-1

标签:占位符   底部   ane   png   实现   技术   start   开发   info   

原文地址:https://www.cnblogs.com/wangjunwei/p/12311167.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!