![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Flutter
Javon_huang
有信念,不迷路
展开
-
Flutter实战项目-第十二篇 多线程isolate
dart语言默认是单线程的,这就导致了如果在处理一个耗时比较长事务的话,很有可能会造成UI渲染的阻塞。举例子:我在页面创建一个动画,然后执行一个计算的函数,而这个计算的函数耗时比较长,这个时候你就可以看到,动画在UI上会被卡住,直到计算函数执行完毕动画恢复正常。二、isolate在dart 2.15以前,isolate是一个独立的包,在pub可以下载。在dart2.15后它已经集成在了sdk里面,不需要在单独下载包了。它是dart官方针对多线程给出的解决方案。它可以不占用主线程的情况下,另开线程去原创 2022-06-22 17:05:03 · 883 阅读 · 0 评论 -
Flutter实战项目-第十一篇 自定义Controller
概要实现类似TextEditingController的控制器实现原理:通过TextEditingController源码可以看到,其实现是通过ChangeNotifier这个类进行事件广播,在目标组件进行监听。一、自定义Controller 创建一个控制器类,继承ChangeNotifierimport 'package:flutter/material.dart';class SearchInputMemoryController extends ChangeNot....原创 2022-05-18 09:12:55 · 1628 阅读 · 0 评论 -
Flutter实战项目-第四篇 页面路由、provider状态管理
概要页面路由配置 provider 一、路由配置创建router.dart用于管理所有的路由,然后再main.dart MaterialApp中注册路由。router.dart中第一个routes即是默认打开的页面import './view/login/login.dart';class JDRouter { static final routes = { Login.routeName: (context) => const Login() };..原创 2022-05-08 13:29:52 · 810 阅读 · 0 评论 -
Flutter实战项目-第六篇 自定义dropdown,toast
概要自定义下拉dropdown 适用于tips、dropdown一、实现思路 获取父元素的大小及位置,借助Stack定位,实现自定义浮层。为了方便获取大小及编程方便,我们创建一个Dropdown组件,用于处理获取父节点信息逻辑。import 'package:flutter/material.dart';import 'show.dropdrown.dart';class Dropdown extends StatefulWidget { final Widg......原创 2022-05-08 13:30:22 · 1633 阅读 · 0 评论 -
Flutter实战项目-第八篇 监听键盘弹起
概要监听应用软键盘收齐弹出一、WidgetsBindingObserverWidgetsBindingObserver类可以使用于监听页面的生命周期,根据用户时间需求响应响应时间。didChangeMetrics在页面高度发生变化的时候会触发该回调。class Chat extends StatefulWidget { const Chat({ Key? key }) : super(key: key); static const routeName = '/c......原创 2022-05-08 13:30:58 · 3536 阅读 · 1 评论 -
Flutter实战项目-第十篇 自定滑动效果
去除滚动布局中蓝半球回弹效果自定义回弹原创 2022-05-08 13:31:32 · 1053 阅读 · 0 评论 -
Flutter实战项目-第九篇 吸顶及滚动条嵌套
滚动条嵌套吸顶CustomScrollView、SliverList原创 2022-05-08 13:31:16 · 3248 阅读 · 2 评论 -
Flutter实战项目-第七篇 动画
颜色变换动画根据父元素定位动画原创 2022-05-08 13:30:42 · 902 阅读 · 0 评论 -
Flutter实战项目-第五篇 自定义AppBar
自定义AppBarAppBar笼罩层原创 2022-05-08 13:31:53 · 1578 阅读 · 0 评论 -
Flutter实战项目-第二篇 字节跳动调试工具、静态资源及阿里图标库
配置字节跳动调试工具图片配置配置阿里图标库原创 2022-05-08 13:28:28 · 591 阅读 · 0 评论 -
Flutter实战项目-第三篇 数据本存储、网络请求Dio、基础类转换
一、概要数据本地化存储 shared_preferences 网络请求dio一、包相关shared_preferences是官方推荐的包,目前主流。可以根据官网的教程直接使用,但是最好还是在本地做下单例,可根据自己需要添加相应的方法。import 'package:shared_preferences/shared_preferences.dart';class LocalStore{ static SharedPreferences? _prefs; ......原创 2022-05-08 13:29:16 · 915 阅读 · 0 评论 -
Flutter实战项目-第一篇 基础项目构建、多环境配置
开发工具配置及基础项目创建项目多环境配置基于多环境运行原创 2022-05-08 13:28:52 · 1307 阅读 · 0 评论