问题很简单,我有一个名为 SelectBox 的小部件,带有“active”参数。如果 active 为 true,那么应该有阴影和白色边框,但边框不再出现!当 active 为 false 时,将显示边框。自从我更新了 flutter (3.27.1) 以来,我遇到了这个问题。这是我的小部件:
class SelectBox extends StatelessWidget {
const SelectBox({super.key, required this.text, required this.active});
final bool active;
final String text;
@override
Widget build(BuildContext context) {
return Container(
decoration: BoxDecoration(
borderRadius: const BorderRadius.all(Radius.circular(5)),
border: Border.all(
width: 2,
color: Colors.white,
),
boxShadow: [
if (active)
BoxShadow(
color: Colors.white.withValues(alpha: 0.7),
blurRadius: 30,
blurStyle: BlurStyle.outer,
)
]),
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 15, vertical: 5),
child: Text(
text,
style: const TextStyle(
color: Colors.white,
fontWeight: FontWeight.bold,
fontStyle: FontStyle.italic,
fontSize: 20.0),
),
),
);
}
}
如果我尝试从框装饰中删除 borderRadius,则会显示边框,但它不是圆形的!我尝试了不同的解决方案,例如我尝试使用两个不同的容器,一个用于阴影,另一个用于边框,但无济于事。
我刚刚复制了您的代码并使用 Flutter 3.27.1 运行。对我来说效果很好。应该还有其他问题。