createByList static method

Widget createByList(
  1. List<String> buttonTitleList, {
  2. VoidCallback? mainButtonOnTap,
  3. VoidCallback? secondaryButtonOnTap,
  4. bool enableMainButton = true,
  5. List<VerticalIconButton>? iconButtonList,
})

新增快捷的数组使用方式 注意事项:由于该只支持主按钮和次按钮,因此如果数组长度大于2,也只会取出来第一个和第二个显示 如果数组的长度是1,那么只显示主按钮 如果数组的长度是0,那么不显示 数组的第1个是 主按钮 数组的第2个是 次按钮 buttonTitleList 数组显示文案 mainButtonOnTap 主按钮的点击事件 secondaryButtonOnTap 次按钮的点击事件 iconButtonList icon按钮

Implementation

static Widget createByList(List<String> buttonTitleList,
    {VoidCallback? mainButtonOnTap,
    VoidCallback? secondaryButtonOnTap,
    bool enableMainButton = true,
    List<VerticalIconButton>? iconButtonList}) {
  if ((buttonTitleList.isEmpty) && iconButtonList == null) {
    return const SizedBox.shrink();
  }
  if (buttonTitleList.length >= 2) {
    return BottomButtonPanel(
      mainButtonName: buttonTitleList[0],
      enableMainButton: enableMainButton,
      secondaryButtonName: buttonTitleList[1],
      mainButtonOnTap: () {
        if (mainButtonOnTap != null && enableMainButton) {
          mainButtonOnTap();
        }
      },
      secondaryButtonOnTap: () {
        if (secondaryButtonOnTap != null) {
          secondaryButtonOnTap();
        }
      },
      iconButtonList: iconButtonList,
    );
  }

  if (buttonTitleList.length == 1) {
    return BottomButtonPanel(
      mainButtonName: buttonTitleList[0],
      enableMainButton: enableMainButton,
      mainButtonOnTap: () {
        if (mainButtonOnTap != null && enableMainButton) {
          mainButtonOnTap();
        }
      },
      iconButtonList: iconButtonList,
    );
  }
  return const SizedBox.shrink();
}