很明显如何使用高程属性绘制阴影但是如果我想让阴影居中怎么办?
Jon*_*ird 15
找到了解决办法:
我可以简单地进入 BoxShadow 小部件的源代码并将它们使用的路径属性应用于我自己的路径。
这是我用来为自定义路径(而不是具有边界半径的圆形或矩形)创建阴影的代码,它允许我创建自定义阴影而不是使用高程预设。
canvas.drawPath(
Path()
..addRect(
Rect.fromPoints(Offset(-15, -15), Offset(size.width+15, size.height+15)))
..addOval(
Rect.fromPoints(Offset(0, 0), Offset(size.width, size.height)))
..fillType = PathFillType.evenOdd,
Paint()
..color= Colors.black.withAlpha(shadowAlpha)
..maskFilter = MaskFilter.blur(BlurStyle.normal, convertRadiusToSigma(3))
);
static double convertRadiusToSigma(double radius) {
return radius * 0.57735 + 0.5;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5106 次 |
| 最近记录: |