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