1.获取状态栏高度:
MediaQuery.of(context).padding.top
2.Text上文字渐变:
使用ShaderMask
3.setSate((){code…}) 等价于code;(context as Element).markNeedsBuild()
4.阴影:
PhysicalModel(
elevation:4.0,阴影大小
shadowColor:red,阴影颜色
圆形:
borderRadius:BorderRadius.circular(100),
或者 shape:BoxShape.circle,
child:Flutter(size:200)
)
或者Material(elevation:4.0)
或者AnimatedPhysicalModel(elevation:40,duration:Duration(seconds:1),shape:BoxShape.rectangle)
补充:PhysicalShape():可以任意裁边
5:TickerMode(enabled:true):可用于禁用子树中的动画,所以作用是控制子控件是否显示动画
6:FractionallySizeBox(widthFactor:0.25)//总宽度的多少,
7.KeyedSubtree(key);给每个子组件一个key
8:FittedBox(fit:BoxFit.scaleDown):缩放(Scale)和位置调整(Position),会在自己的尺寸范围内缩放并调整 child 的位置,使 child 适合其尺寸
9:SafeArea():安全距离
10.AnimatedPadding(),
AnimatedOpacity(),
TweenAnimationBuilder(
tween:Tween(begin:0,end:1),
builder:(BuildContext,value,Widget child){ return Opacity(
opacity:value,
childer:)}
)