flutter
巧克力的口袋
有需求的地方就一定有解决办法
展开
-
Dart中的消息机制
Dart中的消息机制介绍执行顺序参考资料介绍在Dart中,每个线程都运行在一个叫做isolate的独立环境中,它的内存不和其他线程共享,它在不停干一件事情:从事件队列中取出事件并处理它。整个isolate会有两个队列事件队列event:用来处理外部的事件,如果IO、点击、绘制、计时器(timer)和不同 isolate 之间的消息事件等。微任务队列Microtask:处理来自于Dart内部的任务,适合用来不会特别耗时或紧急的任务,微任务队列的处理优先级比事件队列的高,如果微任务处理比较耗时,会导致事原创 2020-07-14 19:39:14 · 351 阅读 · 0 评论 -
Dart使用tts_help播放文字
1.下载配置插件tts: ^1.0.2在pubspec.yaml配置tts: ^1.0.2,然后pub get2.新建一个dart文件(tts_helper.dart),代码如下:// An highlighted blockimport 'package:tts/tts.dart';import 'dart:async';import 'dart:io';/// Singleton tool class for tts/// Use TtsHelper step://////原创 2020-07-08 14:46:50 · 408 阅读 · 0 评论 -
Dart中String与base64的相互转换
导入项目中遇到了需要String转base64的问题,辗转反侧找到答案,还失败了,可能是Dart之后更新之后,原来的方法不能用了,为了避免在这个小问题上耗时,特写一个blog来协助大家。方法// An highlighted blockimport 'dart:convert';...String _curImage = "https://pcdn.flutterchina.club/imgs/book.png";/// String-->List<int>-->bas原创 2020-07-07 19:23:16 · 3269 阅读 · 1 评论 -
Dart中异步编程之Future await async的使用
基本理论Future定义的函数,表示内部有耗时操作,当执行到耗时操作时,返回Future,从而使得调用该方法的外层方法不去理会该耗时操作继续执行后面的代码避免阻塞;await等待耗时操作,Future内部造成阻塞,运行完成后才会执行Future的外层方法;出现await的方法必须用async修饰,在调用时使用await表示让这个方法去同步执行,如果不使用那么就异步执行。规则:定义async的函数,必须在函数体之前使用关键字async;await关键字的使用只用在async的函数中示例示例1 无耗时原创 2020-07-07 15:33:55 · 461 阅读 · 0 评论 -
Flutter获取状态栏高度
获取状态栏高度不同手机尺寸的屏幕的状态栏高度不一致,需要获取状态栏高度,设置上边距:// An highlighted blockimport 'dart:ui';MediaQueryData.fromWindow(window).padding.top //这个就是状态栏的高度使用时候设置上边距:// An highlighted blockreturn Scaffold( body:Container( padding: EdgeInsets.only(top: MediaQ原创 2020-06-30 14:19:55 · 4350 阅读 · 0 评论 -
list中改变值,setState无法刷新小部件【解答】
今天刷Flutter社区的时候,碰巧看到了一个这样的问题,回想了一下自己最近一个月也遇到不少关于setState无效的问题,请教了下同事,果然姜还是老的辣,哈哈~引入问题:https://www.oschina.net/question/139706_2315736(以上链接就是别人的问题,此处就不另外把问题描述一遍了,大家从上面链接查看原问题把!)原因:父widget用到子widget时,第一次使用时,会执行子widget中声明的构造函数,之后就不会执行了,但是子widget的build还是会执行的原创 2020-06-29 20:50:08 · 2666 阅读 · 0 评论 -
Flutter图片和第三方图标使用
一 图片1.下载,存到自己新建的images文件夹中;2.yaml文件中配置,在yaml中所有的配置都是有参考的assets: - images/logo.jpg - images/lake.jpg - images/honor.jpg - images/comments.jpg - images/back.jpg3.使用Image.asset( "images/logo.jpg", width: 100, height: 100, fit: BoxFit.原创 2020-06-23 14:49:33 · 628 阅读 · 2 评论 -
Flutter实现中间滑动,底部固定
简介:flutter搭建组件写界面时,经常会遇到界面中间滑动,底部固定的需求,这里与AppBar和BottomNavigationBar区分开来,两者的功能和适用情况是不一样的,BottomNavigationBar是适用于底部导航栏的。下图就是实现的类似界面效果:flutter实现代码:body: MediaQuery( data: MediaQuery.of(context).copyWith(textScaleFactor: 1.0), child原创 2020-06-23 11:42:23 · 7110 阅读 · 8 评论 -
AS 代码提示和代码色彩消失&Entrypoint is not a Dart file
适用情况:如果你在使用android studio工具的时候,没有了代码提示和代码颜色,又遇到Entrypoint is not a Dart file或者plugin supporting .dart files found这样的e报错或警告,那么这可能是文件扩展名匹配的问题。大概而言,就是我们的每一种扩展名的文件都应该有匹配的template,在使用AS时不小心修改了设置,之后就出现写dart文件无提示、无代码颜色。具体修改如下:1.File–>Settings,如图红框,输入.dart,意原创 2020-06-15 15:20:15 · 2533 阅读 · 0 评论 -
flutter中上导航栏和下导航栏的实现
哈哈原创 2020-06-01 10:52:25 · 853 阅读 · 0 评论 -
flutter中数据共享和数据持久化
flutter中数据共享和数据持久化词语解释单例模式数据共享数据持久化具体实现单例模式数据共享数据持久化数据持久化的拓展flutter项目中的共享数据和数据持久化,我都是在单例模式中进行处理的,所以在本文的最开始,先大致解释一下共享数据和数据持久化以及展示一下单例模式。词语解释有一定基础的开发者可以直接略过“词语解释”这部分。单例模式顾名思义,整个项目生命周期,都保持一个实例,无论你几次引用,皆为一个实例。数据共享所以在单例模式中定义的变量,无论在什么界面进行了修改,对于所有文件而言,都是发生原创 2020-05-31 18:42:46 · 1047 阅读 · 0 评论