flutter笔记

    项目名、文件名使用小写单词,多个单词使用_连接。

    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使用循环构建。

原文地址:https://www.cnblogs.com/cbkun/p/11331815.html