flutter开发采坑

如何编辑用户环境变量(.bash_profile文件)

cd ~
open ~/.bash_profile
//添加环境变量
source ~/.bash_profile//此命令使得新配置的环境变量生效

当关闭终端后,每次需要输入source ~/.bash_profile命令使flutter生效,此时需要进行如下操作:

open ~/.zshrc
//文件最后,增加下面一行即可:
source ~/.bash_profile

开发flutter关键API

  1. 如何处理刘海屏幕顶部的留白
MediaQuery.removePadding(
  removeTop: true,
  context: context,
  child:  //你的组件
)
  1. 监听ListView
NotificationListener()//用于监听包裹的子组件
......
NotificationListener(
  onNotification: (scrollNotification) {
    if (scrollNotification is ScrollUpdateNotification &&
        scrollNotification.depth == 0) {//只监听子组件,不监听孙组件
      _onScroll(scrollNotification.metrics.pixels);
    }
    return true;
  },
  child: ...
  1. 下拉刷新和上拉加载
    下拉刷新:RefreshIndicator
    上拉加载:在组件生命周期添加和销毁ScrollController
ScrollController _scrollController = ScrollController()

@override
void initState(){
  _scrollController.addListener((){
      if(_scrollController.position.pixels == _scrollController.position.maxScrollExtent){
        _loadData()
      }
    }  
  )
}

@override
void dispose(){
  _scrollController.dispose()
}
  1. json.encode()和json.decode()

decode( ),json 转对象/数组,通常网路请求后的数据用此方法转为我们需要的定义的对象;当第二个参数为true返回 array ,默认是false返回object。
encode( ),对象/数组转字符串,成功返回json编码的 string ,失败返回 false 。

  1. FractionallySizedBox,可以撑满宽度
  2. physicalModel,可以用于设置圆角

你可能感兴趣的:(flutter开发采坑)