项目名、文件名使用小写单词,多个单词使用_连接。
VS Code插件Awesome Flutter Snippets快速生成模板代码。
引入其他文件的方法,第三方库:
import 'package:flutter/material.dart';
本项目中:
import 'package:flutter_shop/pages/index_page.dart'; import './pages/index_page.dart';
Widget外面包装一个Container便于扩展,例如设置背景颜色、外边距、内边距等。
App右上角的Debug Banner,用于指示当前处于checked mode,在此种模式下,flutter会开启很多诊断功能便于程序员的开发,但这些诊断功能十分消耗资源,所以此种模式下的性能表现不具有代表性。在开发时默认显示Debug Banner,隐藏的方法:创建MaterialApp时将其debugShowCheckedModeBanner属性设置为false。在release mode下,无论是否设置debugShowCheckedModeBanner属性,都不会显示Debug Banner。如果此时仍然要显示,可以在App中创建一个CheckedModeBanner Widget。
VS Code打开/关闭命令行的快捷键:Ctrl + ~
编写StatefulWidget的方法:
(1)定义表示状态的各种成员变量,不会改变的使用final修饰同时初始化,会发生变化的在重写的initState()方法中初始化。
(2)改变Widget状态时需要调用setState()方法,该方法接收一个无参的回调函数作为参数,在回调函数中改变状态。
VS Code中r和R热加载的区别,R会重新加载StatelessWidget,r不会。
调用返回Futrue类型的方法需要在调用前添加await,包含await语句的方法需要声明为async。Futrue类型对象有一个then()方法,接收一个回调函数,参数为Futrue对象的值,在回调函数中可以对这个值进行操作。
TextField( controller:TextEditingController(), decoration:InputDecoration ( contentPadding: EdgeInsets.all(10.0), labelText: '', helperText: '' ), autofocus: false, ),
Text(
overflow:TextOverflow.ellipsis,
maxLines: 1,
),
私有成员名称以_开头,例如RaisedButton的onPressed属性需要传递一个回调函数,此时可以先定义一个私有方法,而后传递给onPressed属性,避免多层嵌套。
showDialog(
context: context,
builder: (context)=>AlertDialog(title:Text(''))
);
SingleChildScrollView只有一个子元素的ScrollView,解决输入框遮盖元素的问题,子元素不能是ListView。
VSCode中按住Alt可以进行多选。
Dart文件中可以定义各种变量,将这个dart文件引入即可使用这些变量。
所有后端请求的URL可以使用一个Map维护,定义一个BaseURL,其他的path使用循环构建。