Flutter ToggleButtons 绕过每个按钮的角

Flutter ToggleButtons round each button's corners

提问人:Thiago Dias 提问时间:12/10/2021 更新时间:10/4/2022 访问量:498

问:

我基本上是在尝试制作一个过滤器,我发现最适合我需求的工具是切换按钮。问题在于,默认的 borderRadius 仅适用于角中的项目(第一个和最后一个),因为将小部件的角作为一个整体进行圆角处理,而不是每个项目。

我想知道如何实现这种风格, 这就是我目前所取得的成就。

我的代码是:

ToggleButtons(
  selectedColor: CustomColors.orangeDark,
  color: CustomColors.white,
  fillColor: CustomColors.white,
  textStyle: CustomTextStyles.menuOption,
  renderBorder: false,
  isSelected: isSelected,
  children: const [
    OpcaoFiltro("PROMOÇÕES"),
    OpcaoFiltro("LANCHES"),
    OpcaoFiltro("COMBOS"),
    OpcaoFiltro("BEBIDAS"),
  ],

其中 OpcaoFiltro() 为:

class OpcaoFiltro extends StatelessWidget {
  const OpcaoFiltro(this.text, {Key? key}) : super(key: key);
  final String text;

  @override
  Widget build(BuildContext context) {
    return ClipRRect(
      borderRadius: BorderRadius.circular(8),
      child: Container(
        padding: const EdgeInsets.symmetric(horizontal: 6),
        child: Text(
          text,
          textAlign: TextAlign.center,
        ),
      ),
    );
  }
}

ClipRRect 使它具有圆角,但 toggleButtons fillColor 忽略了这一点。尽管我进行了所有研究,但我还是无法在网上找到答案。任何帮助都是值得赞赏的。

Flutter Dart ToggleButton 圆角

评论


答:

0赞 Anand Panchal 10/4/2022 #1

你试过这个包=>https://pub.dev/packages/toggle_switch 吗?

它提供了一个选项,可以为单个切换按钮提供内半径。