怎么从圆形变成方形的,RadialExpansion接收到的都是kMaxRadius
来源:7-10 动画Animation开发指南-Hero动画-2
小葱与奥特曼
2020-07-07
///外层的圆形组件
class RadialExpansion extends StatelessWidget {
RadialExpansion({
Key key,
this.maxRadius,
this.child,
}) : clipRectSize = 2.0 * (maxRadius / math.sqrt2),
super(key: key);
final double maxRadius;
final clipRectSize;
final Widget child;
@override
Widget build(BuildContext context) {
return ClipOval(
child: Center(
child: SizedBox(
width: clipRectSize,
height: clipRectSize,
child: child,
),
),
);
}
}
怎么从圆形变成方形的?
RadialExpansion接收到的都是kMaxRadius一样的值,也就是clipRectSize、child是一样,
RadialExpansion外层的容器宽高的改变,就能影响到里面的圆形裁切组件改变形状吗?
不太明白这里怎么实现的形状改变。
写回答
2回答
-
慕后端3246780
2020-09-03
从圆变方,方变圆好像是 MaterialRectCenterArcTween 方法的作用,其实就是修改了clip里的borderRadius值,ClipOval其实是ClipRect的自行计算borderRadius的方法
00 -
CrazyCodeBoy
2020-07-07
022021-04-20
相似问题