答案 0 :(得分:0)
不可能以简单的方式做到这一点。您必须编辑_DropdownMenuPainter
中的_DropdownMenuState
和dropdrown.dart
类,这是Flutter资料包的一部分。
在_DropdownMenuPainter
中,更改在构造函数中设置的BoxDecoration
半径:
_DropdownMenuPainter({
...
this.resize,
}) : _painter = BoxDecoration(
...
borderRadius: BorderRadius.circular(16.0), // Set the radius you want here
boxShadow: kElevationToShadow[elevation],
).createBoxPainter(),
super(repaint: resize);
在_DropdownMenuState
的方法build()
内,用Material
包装ClipRRect
小部件,并将其borderRadius
设置为与{{ 1}}:
_DropdownMenuPainter
请注意,更新Flutter时,您将丢失这些更改。
我本来要向Flutter进行公关,但花了1个小时尝试运行测试,但没有成功,因此我不会在此上浪费时间。相反,我做了一个要点,因此您可以将对本地Flutter副本所做的更改复制到整个文件中。
https://gist.github.com/hugocbpassos/2a63594a21d7f231e97dd7dc1f18ee68
要使用它,只需设置return FadeTransition(
opacity: _fadeOpacity,
child: CustomPaint(
...
child: Semantics(
...
child: ClipRRect(
borderRadius: BorderRadius.circular(16.0), // This must be identical to the one set before
child: Material(
...
),
),
),
),
);
属性:
radius