随笔分类 -  flutter

摘要:lib文件夹分了三个文件 getdiodata.dart model.dart main.dart 注意点:Dio().get()返回的数据是List或者Map,http().get()返回的数据是json数据;Dio().get()比http更方便的地方就是返回的数据是List或者Map,而htt 阅读全文
posted @ 2019-05-31 00:05 braveheart007 阅读(284) 评论(0) 推荐(0)
摘要:知识点:当BuildContext在Scaffold之前时,调用Scaffold.of(context)会报错。这时可以通过Builder Widget来解决:异步操作: save() async{ SharedPreferences prefs = await SharedPreferences. 阅读全文
posted @ 2019-05-15 11:25 braveheart007 阅读(216) 评论(0) 推荐(0)
摘要:ListView可以配合ScrollController使用:创建ScrollController _ScrollController=ScrollController();在initState中监听如下: void initState() { _scrollController.addListen 阅读全文
posted @ 2019-05-14 11:42 braveheart007 阅读(497) 评论(0) 推荐(0)
摘要:下拉刷新请使用:RefreshIndicator,挺简单,把内容放到child:属性,onRefresh:()async{await}这个无名函数是刷新的具体操作,是一个Future类型的函数。一个具体的示例:import 'package:flutter/material.dart';void m 阅读全文
posted @ 2019-05-14 10:51 braveheart007 阅读(745) 评论(0) 推荐(0)
摘要:flutter中的eventbus其实就是Stream的一种特殊形式,本质上就是Stream,咱们都知道状态树自父节点向多少有子节点遗传数据采用的是InheritedWidget,自下而上冒泡采用的是Notification,那么同级别的Widget之间传递信息采用的就是EventBus,我从来也记 阅读全文
posted @ 2019-05-11 13:27 braveheart007 阅读(335) 评论(0) 推荐(0)
摘要:TextFormField是继承了TextFiled, TextFormField一般是放在Form里面使用,可以使用GlobalKey进行控制: 首先在类里面声明GlobalKey,如: 其次在Form里面加入 key:GlobalKey,如: 再次在TextFormFiled里面定义onSave 阅读全文
posted @ 2019-05-10 11:38 braveheart007 阅读(386) 评论(0) 推荐(0)
摘要:下面的PageViewWidget是构造函数的名字,和类名称相同,可以用任何你喜欢的名字:PageViewWidget({Key key,@required this.index}):super(key:key);widget.index当引用这个类里面的参数的时候,就用类名.参数名,即可引用;在s 阅读全文
posted @ 2019-05-09 23:05 braveheart007 阅读(605) 评论(0) 推荐(0)
摘要:状态保持需要做到以下两点:1:with AutomaticKeepAliveMixIn2:@override bool get wantKeepAlive=>true;完整示例:main.dart:import 'package:flutter/material.dart';import 'page 阅读全文
posted @ 2019-05-09 22:34 braveheart007 阅读(136) 评论(0) 推荐(0)
摘要:Opacity( opacity:0.1; ) 其实用color:Colors.black38 可以达到同样的效果; 阅读全文
posted @ 2019-05-09 14:32 braveheart007 阅读(202) 评论(0) 推荐(0)
摘要:共享数据类的写法: 示例: 在构造方法里面写赋值语句,在类里面写变量声明。可以声明数据流。 记得要dispose。 如果引用provider的话,一定要把方法里面的builder和dispose属性补齐;就这么写就可以了; 完整示例: 阅读全文
posted @ 2019-05-09 11:37 braveheart007 阅读(621) 评论(0) 推荐(0)
摘要:import 'package:flutter/material.dart';import 'package:web_socket_channel/io.dart';void main()=>runApp(MyApp());class MyApp extends StatelessWidget { 阅读全文
posted @ 2019-05-09 09:44 braveheart007 阅读(157) 评论(0) 推荐(0)
摘要:在initstat里面将文件里面存储的数值赋值给要显示的组件,这样可以在App打开时就恢复上次App存储的数据;每次数值变化就随之存储到文件;下面是一个完整的示例:import 'package:flutter/material.dart';import 'dart:io';import 'dart 阅读全文
posted @ 2019-05-08 22:47 braveheart007 阅读(152) 评论(0) 推荐(0)
摘要:我犯下的错误:用inheritedwidget包裹了需要共享数据的控件之后,却掉了参数,这里面是需要注明共享数据类的;如:import 'package:flutter/material.dart';import 'counter_bloc_demo.dart';void main()=>runAp 阅读全文
posted @ 2019-05-07 22:52 braveheart007 阅读(302) 评论(0) 推荐(0)
摘要:import 'package:flutter/material.dart';import 'package:rxdart/rxdart.dart';import 'dart:async';void main()=>runApp(MyApp());class MyApp extends Statel 阅读全文
posted @ 2019-05-07 18:15 braveheart007 阅读(239) 评论(0) 推荐(0)
摘要:创建Observable方法: 阅读全文
posted @ 2019-05-07 18:14 braveheart007 阅读(235) 评论(0) 推荐(0)
摘要:数据库取数据是一个Future类型的函数完成的,为此用数据库数据构建部件得用FutureBuilder构建;如下函数就是Future类型的从数据库取数据的函数; Future getBaseData() async { await dataBase.open(); return await data 阅读全文
posted @ 2019-05-06 22:52 braveheart007 阅读(272) 评论(0) 推荐(0)
摘要:清理内存 清理缓存: 阅读全文
posted @ 2019-05-06 12:39 braveheart007 阅读(5233) 评论(0) 推荐(0)
摘要:没掌握的点: enabled: false,//这个属性可以禁用TextFieldonSubmitted onEdittingComplete都是在按下Enter键之后调用的函数; decoration: InputDecoration( prefixIcon: Icon(Icons.local_a 阅读全文
posted @ 2019-05-03 20:48 braveheart007 阅读(299) 评论(0) 推荐(0)
摘要:import 'dart:async';import 'package:flutter/material.dart';import 'dart:convert';import 'package:dio/dio.dart';void main()=>runApp(MyApp());class MyAp 阅读全文
posted @ 2019-05-01 08:14 braveheart007 阅读(233) 评论(0) 推荐(0)
摘要:import 'package:flutter/material.dart';import 'homepage.dart';import 'lastpage.dart';import 'secondpage.dart';import 'thirdpage.dart';void main()=>run 阅读全文
posted @ 2019-04-29 19:32 braveheart007 阅读(207) 评论(0) 推荐(0)