Flutter使用dotted_border包时圆角radius参数设置无效
Flutter dotted_border 圆角设置不生效解决方案
问题根因
dotted_border 组件的 radius 圆角参数存在生效前提:仅当 borderType 取值为 BorderType.RRect 时,传入的radius配置才会被识别渲染。
当前复现代码中使用的是 BorderType.Rect 类型,该类型对应直角矩形渲染逻辑,会直接忽略所有传入的radius参数,因此无论怎么修改圆角值,边框始终显示为直角。
修复方法
仅需将 borderType 的取值从 BorderType.Rect 修改为 BorderType.RRect,即可让圆角配置正常生效,修复后的完整代码如下:
Widget AddTask() { return DottedBorder( borderType: BorderType.RRect, // 核心修改项 radius: const Radius.circular(30), dashPattern: const [10, 10], color: Colors.grey, strokeWidth: 2, child: const Center( child: Text( "+ Add", style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), ), )); }
补充使用说明
- 若需要实现圆形虚线边框,将
borderType设为BorderType.Circle即可,无需额外配置radius参数 - 若需要实现非统一圆角(如仅顶部两个角为圆角),同样需要使用
BorderType.RRect类型,再传入对应自定义Radius配置即可
内容的提问来源于stack exchange,提问作者MûHammad UMar
相关产品推荐
相关产品推荐

