accessoryWidget method

  1. @override
Widget? accessoryWidget(
  1. BuildContext context, {
  2. AccessoryType accessoryType = AccessoryType.None,
  3. Set<MaterialState>? materialStates,
  4. Map<String, dynamic>? extraInfo,
})
override

Implementation

@override
Widget? accessoryWidget(BuildContext context, {AccessoryType accessoryType = AccessoryType.None, Set<MaterialState>? materialStates, Map<String, dynamic>? extraInfo}) {
  Widget? accessoryWidget;

  switch (accessoryType) {
    case AccessoryType.Check:
      accessoryWidget = Icon(
        Icons.check,
        color: accessoryColor(context, accessoryType: accessoryType, materialStates: materialStates, extraInfo: extraInfo),
      );
      break;

    case AccessoryType.Disclosure:
      accessoryWidget = Icon(
        Icons.arrow_forward_ios_rounded,
        color: accessoryColor(context, accessoryType: accessoryType, materialStates: materialStates, extraInfo: extraInfo),
        size: 14.0,
      );
      break;

    case AccessoryType.Custom:
      if (extraInfo != null) {
        var customAccessoryWidget = extraInfo['CustomAccessory'] as Widget?;
        if (customAccessoryWidget != null) {
          accessoryWidget = customAccessoryWidget;
        }
      }
      break;

    case AccessoryType.None:
    default:
      break;
  }

  return accessoryWidget;
}