Flutter 一切皆widget程序员
leading:导航栏左返回视图(widget),默认push到下一个页面,左视图自带返回箭头,点击方法系统已实现。bash
可是最外层 是 return MaterialApp(); 包裹,是没有返回按钮的网络
若是要自定义图标:架构
leading: IconButton(
disabledColor: Colors.red,
icon: Icon(Icons.menu),
onPressed: null
),
复制代码
IconButton 原本单独写一篇文章,可是写成笔记先记着 IconButton 设置颜色的时候,注意 onPressed 是否实现,为了习惯统一,能够默认设置 onPressed:(){}; 为何这样说呢?接着往下看:app
Color:
设置了图标点击回调,则用于按钮内图标的颜色;
highlightColor:
按钮处于向下(按下)状态时按钮的辅助颜色;
splashColor
按钮处于向下(按下)状态时按钮的主要颜色;
disabledColor:
没设置图标点击回调,则用于按钮内图标的颜色
复制代码
IconButton(
//onPressed 为null,图标颜色默认为灰色调,能够经过disabledColor设置此时图标颜色
//onPressed 非null,图标颜色默认为白色,能够经过color设置此时图标颜色
//其余状态颜色设置,参考前面颜色介绍
// color: Colors.red,
disabledColor: Colors.green,
icon: Icon(Icons.add),
onPressed: null
)
复制代码
注意点: 设置title ,默认居中,可是当咱们设置 actions 个数大于等于2的时候,title会偏移,因此这句 centerTitle: true 仍是须要写上的less
学习过程不断尝试,以iOS职业思惟去搞,发现问题: 场景:首页导航栏,此时外层是MaterialApp,自定义leading属性,建立一个IconButton ,总体架构是:工具
MaterialApp(
-home: Scaffold(
appBar: new AppBar(
leading: 自定义
......使用Navigator.push报错
可是body 里面使用Navigator.push 正常
复制代码
push到一个新Widget, 报错信息:布局
Navigator operation requested with a context that does not include a Navigator.学习
百度,可是看到一个复杂的方案 外层使用StatelessWidget ,将路由跳转功能封装到StatefulWidget中 ??看完代码(具体本身百度),个人天,这么麻烦,若是是后期加的需求,确定要加班搞,放弃,寻找更简便方法,没办法,偷懒一下,站在巨人肩上看的远,可是,得换个巨人了,那就换ui
在须要点击跳转的子View外部包一层Builder以下:
child: Builder(builder: (context) {
return GestureDetector(
onTap: () {
Navigator.push(context, MaterialPageRoute(builder: (context)=>NewWigets()));
},
child: Text("本身想"),
);
}
复制代码
上述是思路,我得 根据我实际场景改代码,信手捏来:
leading: Builder(builder: (context) {
return GestureDetector(
// 这是照着实验检测可行,注释一下了
// onTap: () {
// Navigator.pushNamed(context, tableVC);
// },
// child: Icon(Icons.menu),
// 我来自定义一下,
child: IconButton(
disabledColor: Colors.red,
icon: Icon(Icons.menu),
onPressed:(){
// Navigator.pushNamed(context, tableVC);
Navigator.push(context, MaterialPageRoute(builder: (context)=>DetailWigets()));
},
)
);
},
复制代码
代码复制过去就能够直接用,就是那么优秀,注释掉的代码能够删掉,跳转的DetailWigets记得换哈,【斜眼笑】
模糊的学习了一些,处处看了看,简单的学了几个UI控件,暂时没有记录,只是记录了刚入门碰到的问题,后续会记录UI ,布局,网络,实战等app的相关内容
针对环境配置,一直想学flutter,基于没有太多精力和心思,环境早就配置好了,就没有记录了,百度就能够弄好,毕竟mac配置下来仍是简单。
mac电脑 + Xcode + AndroidStudio ,VS Code 我也装了,可是用AndroidStudio就很好的支持编写flutter了, flutter和 Android 一个厂里的,本身人嘛,工具选个喜欢的就行。
路漫漫其修远兮,吾将上下而求索
——致程序员逝去的青春复制代码