buildMultipleSlots static method

Map<SlotType, Widget> buildMultipleSlots({
  1. required AliPlayerWidget widget,
  2. required Map<SlotType, Widget Function(BuildContext context)> defaultBuilders,
  3. required BuildContext context,
  4. required AliPlayerWidgetController controller,
})

批量构建多个插槽

Build multiple slots at once

Implementation

static Map<SlotType, Widget> buildMultipleSlots({
  required AliPlayerWidget widget,
  required Map<SlotType, Widget Function(BuildContext context)>
      defaultBuilders,
  required BuildContext context,
  required AliPlayerWidgetController controller,
}) {
  final result = <SlotType, Widget>{};

  for (final entry in defaultBuilders.entries) {
    final slotType = entry.key;
    final defaultBuilder = entry.value;

    if (!isSlotDisabled(widget, slotType)) {
      result[slotType] = buildSlot(
        widget: widget,
        slotType: slotType,
        defaultBuilder: defaultBuilder,
        context: context,
        controller: controller,
      );
    }
  }

  return result;
}