我知道 ClipRRect 有其他选项,例如自定义剪辑器。但如果我只需要一个简单的边界半径,性能上有什么区别吗?比较推荐哪一款?
如果您的目标是创建圆形边框,则必须仅在最后一种情况下使用剪刀,此时容器可能无济于事。例如,图像可以在圆形边框上绘制,因此除非剪切图像,否则您没有其他选择。
形状怎么样,形状 vs 剪辑
RaisedButton(
onPressed: () {},
child: Text('Test'),
shape: RoundedRectangleBorder(
side: BorderSide.none,
borderRadius: BorderRadius.all(Radius.circular(50))
),
)
裁剪是昂贵的操作。要创建带圆角的矩形,请考虑使用许多小部件类提供的 borderRadius 属性,而不是应用剪切矩形。
看看父小部件。也许其中之一已经让您能够控制装饰、边框或形状。如果不是 - DecoratedBox 可能是最轻量级的解决方案。
以下是一些有关性能的其他提示,您可能会觉得有用。
https://docs.flutter.dev/perf/best-practices#minimize-use-of-opacity-and-clipping