我想控制 CupertinoContextMenu 分隔线的厚度,我在主题类中没有看到这个属性,而且我也无法发现小部件属性上的自定义,这怎么可能?
我的代码:
return CupertinoContextMenu.builder(
builder: (context, animation) {
return SizedBox(
width: MediaQuery.of(context).size.width /
(mainAxisCount - animation.value),
height: MediaQuery.of(context).size.width /
(mainAxisCount - animation.value),
child: cardBox(context,
ratioFactor: animation.value < sizeLimit
? null
: (size * animation.value),
shatter: shatter,
actions: actions,
animated: animation.value != 0.0),
);
},
actions: contextMenuActions,
);
目前结果:
预计可以稍微改变一下厚度。
预期的用户界面
您无法直接更改分隔线的厚度。但有一个解决办法 参考:https://github.com/flutter/flutter/blob/54e66469a9/packages/flutter/lib/src/cupertino/context_menu.dart#L155
您可以将其重新创建到 context_menu_extended.dart 中,并且只需在 _ContextMenuSheet 小部件中即可。
更改装饰盒的宽度如下。
DecoratedBox(
decoration: BoxDecoration(
border: Border(
top: BorderSide(
color: CupertinoDynamicColor.resolve(
_borderColor,
context,
),
width: 0.4, // Change the width here.
),
),
),
position: DecorationPosition.foreground,
child: action,
),