flutter
2020-01-22 本文已影响0人
小星星吃KFC
json命令 根目录
flutter packages pub run build_runner build
flutter packages pub run build_runner watch
appBar: AppBar(
title: Text(widget.title),# 导航栏标题
elevation: 0.0,# 导航栏阴影
),
elevation 导航栏阴影
elevation: 0.0,
图片.png
elevation: 10,
图片.png
圆角 Container 只能是线宽圆角,内容不会被圆角
/// Container 只能是线宽圆角,内容不会被圆角
Container(
decoration: BoxDecoration(
/// 圆角必须有线宽默认1
border: Border.all(
width: 12, color: Colors.deepPurpleAccent),
///圆角
borderRadius: BorderRadius.circular(12.0),
/// 阴影 可以多个 offset 值 逆序,不然看不见
boxShadow: [
BoxShadow(
color: Colors.red,
offset: Offset(10.0, 10.0),
// blurRadius: 10.0,
// spreadRadius: 12.0,
),
BoxShadow(
color: Colors.orange,
offset: Offset(5, 5),
// blurRadius: 10.0,
// spreadRadius: 12.0,
),
],
),
/// 比例 widget
child: Image.network(
PostEntity.dataList()[index].imageUrl,
fit: BoxFit.cover,
),
)
图片.png
ListView 多个自定义内容 和 ListView.builder 统一的cell
ListView(
children: <Widget>[
],
),
ListView.builder(
///数量
itemCount: this.dataList.length,
/// 单元格
itemBuilder: (BuildContext context, int index) {
return InkResponse( ),
},
);
icon 资源图片
icon: ImageIcon(AssetImage("name")),
异步
/// 模拟异步加载用户信息
_getUserInfo() async {
await Future.delayed(new Duration(seconds: 1));
return "我是用户";
}
_getUserInfo3() async {
// await new Future.delayed(new Duration(seconds: 1)).then((onValue) {
// print("onValue = $onValue");
// return "异步结果--2";
// });
return Future.delayed(Duration(milliseconds: 1000), () {
return "异步结果--3";
});
}
/// 异步 await 阻塞,比如等 内容输出后,才会输出2
_loadUserInfo() async {
print("_loadUserInfo--1:${new DateTime.now()}");
print("内容 = ${await _getUserInfo3()}");
print("_loadUserInfo--2:${new DateTime.now()}");
}
/// 异步,最后输出 异步内容
_loadUserInfo2() {
print("异步类型2--1:${new DateTime.now()}");
_getUserInfo().then((onValue) {
print(onValue);
});
print("异步类型2--2:${new DateTime.now()}");
}
push pop 2种写法
Navigator.of(context).push(MaterialPageRoute(builder: (context){
return Text("aa");
}));
Navigator.pop(context,MaterialPageRoute(builder: (context){
return Text("aa");
}));
Navigator.of(context).pop();
Navigator.pop(context);
Wrap 代替 row 自动换行的
Divider 分割线