You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter:如何在无状态组件中用带参数枚举设置容器圆角?

解决Flutter枚举中获取borderRadius的问题

你只需要通过传入的size枚举实例直接访问它的borderRadius属性就行,另外四个角圆角一致的话,代码还能简化:

1. 正确访问枚举属性

把你代码里标记的**borderRadius**替换成size.borderRadius——size是StreamBoxSize的实例,每个枚举值都自带borderRadius属性,直接调用就能拿到对应的数值。

2. 简化BorderRadius写法

既然四个圆角数值都相同,没必要用BorderRadius.only逐个设置,直接用BorderRadius.circular()一步搞定,代码更简洁。

修改后的完整组件代码:

class StreamBox extends StatelessWidget {
  const StreamBox({
    super.key,
    this.size = StreamBoxSize.large,
  });
  final StreamBoxSize size;

  @override
  Widget build(BuildContext context) {
    return Container(
      decoration: BoxDecoration(
        color: Colors.white,
        // 直接通过size访问枚举的borderRadius属性,并用简化写法
        borderRadius: BorderRadius.circular(size.borderRadius),
      ),
      // 其他组件内容...
    );
  }
}

这样当你使用StreamBox(size: StreamBoxSize.small)时,容器圆角就会自动设为9,完全符合你的需求。

内容的提问来源于stack exchange,提问作者ericbachmann

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 10:20:39