![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
flutter
U_yong
个人博客:https://www.boycharse.top
展开
-
flutter 对provider进行简单的二次封装
前言封装的目的,在于减少项目对第三方库的依赖,如果项目要更改第三方框架,如果项目对第三方库依赖较深,改起来就很麻烦,因此,这里我们对provider进行一次简单的二次封装。ChangeNotifyProviderimport 'package:flutter/material.dart';import 'package:provider/provider.dart';class ProviderWidget<T extends ChangeNotifier> extends Stat原创 2020-07-28 10:20:33 · 909 阅读 · 0 评论 -
flutter 对dio进行简单的二次封装
前言在项目中,我们往往要对第三方框架进行二次封装,目的在于减小项目对第三方框架的依赖,当第三方框架出现不兼容或者严重bug以至于我们需要更换第三方框架时,我们只需要在封装的地方更改第三方框架,而不需要在整个项目中进行更改。下面我们封装对dio进行简单的二次封装代码import 'dart:ffi';import 'package:dio/dio.dart';import 'package:flutter/material.dart';typedef onSuccess(dynamic da原创 2020-07-27 15:53:06 · 734 阅读 · 0 评论 -
flutter实现一个自定义的LoadingDialog
实现一个LoadingDialog基础知识系统弹窗的基本使用flutter中使用弹窗应该用flutter提供的showDialog方法 void _showAlertDialog() async { var res = await showDialog( context: context, child: AlertDialog( title: Text('测试'), content: Text('这是一个测试窗口'),原创 2020-07-21 14:26:59 · 822 阅读 · 0 评论 -
flutter杂记之时间格式化
flutter时间格式化引入intlpubspec.yamlintl: ^0.16.1代码如下:import 'package:intl/intl.dart';class TimeFormat { static final formatStr = "yyyy-MM-dd"; static final formatter = new DateFormat(formatStr); static String millionsTimeToStr(int millionsTime)原创 2020-07-18 16:02:22 · 721 阅读 · 0 评论 -
解决Flutter使用 Scaffold + Tabbar + TabbarView保存页面状态问题
Flutter切换tab后默认不会保留tab状态 ,Flutter中为了节约内存不会保存widget的状态,widget都是临时变量。当我们使用TabBar,TabBarView是我们就会发现,切换tab,initState又会被调用一次。为了让tab一直保存在内存中不被销毁。在需要保持页面状态的子页State中,继承AutomaticKeepAliveClientMixin并重写wantKeepAlive为true即可。class FirstState extends State<FirstVie转载 2020-07-18 22:12:50 · 381 阅读 · 0 评论 -
dart关于Named optional parameters can‘t start with an underscore的解决方法
在dart中,私有变量的写法是用下划线_区分的,但在构造函数的可选参数中,确实不允许下划线的出现,如:class LoadingDialog{ final _valueColor; LoadingDialog(this._valueColor);}这段代码将会出现Named optional parameters can’t start with an underscore。解决方案一如果变量不是用final修饰,如:class LoadingDialog{ Color _valueC原创 2020-07-21 10:02:36 · 1908 阅读 · 0 评论