整理开发中常用到的 Flutter
代码段。感觉有帮助的话给个 支持。
Scaffold相关
点击页面空白处收回键盘
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| Widget build(BuildContext context) { return Scaffold( body: GestureDetector( onTap: () { FocusScope.of(context).requestFocus(FocusNode()); }, child: Container( color: Colors.transparent, ), ), ); }
|
延时执行
1 2 3 4
| Future.delayed(Duration(seconds: 1), (){ Navigator.of(context).pop(); });
|
Container相关
Container设置阴影
通过 BoxShadow
实现:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Container( decoration: BoxDecoration( boxShadow: [ BoxShadow( offset: Offset(0, 1), blurRadius: 6, spreadRadius: 0, color: Color(0xFFEEEEEE), ) ], ), ),
|
Container实现线性渐变
通过 LinearGradient
实现:
示例一:
1 2 3 4 5 6 7 8 9 10 11 12
| Container( decoration: BoxDecoration( gradient: LinearGradient( begin: Alignment(0, 0.5), end: Alignment(0.5, 1), colors: [ Color(0xFFFA9914), Color(0x00EEEEEE), ], ), ), ),
|
示例二:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| Container( width: 200, height: 200, decoration: BoxDecoration( gradient: LinearGradient( begin: Alignment.topCenter, end: Alignment.bottomCenter, colors: [ Colors.red, Colors.blue, ], stops: [ 0.5, 1, ], ), ), ),
|
Container设置圆角
通过 borderRadius
实现:
1 2 3 4 5
| Container( decoration: BoxDecoration( borderRadius: BorderRadius.circular(4), ), ),
|
Container设置指定角为圆角
通过 BorderRadius.only
实现:
1 2 3 4 5 6 7 8
| Container( decoration: BoxDecoration( borderRadius: BorderRadius.only( topLeft: Radius.circular(5), bottomLeft: Radius.circular(5), ), ), ),
|
其他组件
进入页面后输入框获取焦点,键盘自动弹出
1 2 3 4 5
| TextField( ... autofocus: true, ),
|
未完待续~