记录学习笔记,方便查询
1.dart中接口和抽象类都用class定义
2.Container中的decoration:
(1)color:用来设置container背景色,如果foregroundDecoration设置的话,可能会遮盖color效果。
(2)decoration:绘制在child后面的装饰,设置了decoration的话,就不能设置color属性,否则会报错,此时应该在decoration中进行颜色的设置。
(3)foregroundDecoration:绘制在child前面的装饰。
3.布局:
水平布局:row
垂直布局:column
4.Expanded:
Expanded组件可以使Row、Column、Flex等子组件在其主轴方向上展开并填充可用空间,即当一个控件使用这个包装后,这个控件将会填充row或者column空余的空间
5.Scaffold :
(1)实现了基本的纸墨设计布局结构。
(2)Scaffold 有下面几个主要属性:
- appBar:显示在界面顶部的一个 AppBar,也就是 Android 中的 ActionBar 、Toolbar
- body:当前界面所显示的主要内容 Widget
- floatingActionButton:纸墨设计中所定义的 FAB,界面的主要功能按钮
- persistentFooterButtons:固定在下方显示的按钮,比如对话框下方的确定、取消按钮
- drawer:侧边栏控件
- backgroundColor: 内容的背景颜色,默认使用的是 ThemeData.scaffoldBackgroundColor 的值
- bottomNavigationBar: 显示在页面底部的导航栏
6.ListTitle :
一个Row中装载最多3行文字;可选则在前面或尾部添加图标。
例如:
new ListTile(
leading: new CircleAvatar(
backgroundImage: new NetworkImage("https://pic3.zhimg.com/v2-cd467bb9bb31d0384f065cf0bd677930_xl.jpg"),
radius: 20.0
),
title: new Text("Flutter"),
subtitle: new Text("人生如逆旅,我亦是行人"),
trailing: new RaisedButton.icon(onPressed: (){}, icon: new Icon(Icons.add, color: Colors.white), label: new Text("关注", style: new TextStyle(color: Colors.white),), color: Colors.blue,)
),
7.返回上一个页面:
Navigator.of(context).pop();
8.加入边框:如下加入角度为4的边框
decoration: new BoxDecoration(//加入边框
borderRadius: new BorderRadius.all(const Radius.circular(4.0)),
color: GlobalConfig.searchBackgroundColor),
9.横向SingleChildScrollView
scrollDirection: Axis.horizontal,
10.IndexedStack:
IndexedStack继承自Stack,它的作用是显示第index个child,其他child都是不可见的。所以IndexedStack的尺寸永远是跟最大的子节点尺寸一致。