buildRenderItem method

SettingItem buildRenderItem()

构建渲染模式设置项

Implementation

SettingItem buildRenderItem() {
  final scaleNotifier = _wrapScaleNotifier();
  _wrappedNotifiers.add(scaleNotifier);

  return SettingItem(
    elementKey: SettingMenuElements.scaleMode,
    type: SettingItemType.tags,
    title: PlayerI18n.t(PlayerI18nKeys.scaleMode),
    tags: SettingConstants.scaleModeOptions,
    tagToDisplayText: (tag) {
      if (tag == null || tag is! int) return '';
      switch (tag) {
        case ScaleMode.SCALE_TO_FILL:
          return PlayerI18n.t(PlayerI18nKeys.scaleFill);
        case ScaleMode.SCALE_ASPECT_FIT:
          return PlayerI18n.t(PlayerI18nKeys.scaleFit);
        case ScaleMode.SCALE_ASPECT_FILL:
          return PlayerI18n.t(PlayerI18nKeys.scaleCrop);
        default:
          return '';
      }
    },
    selectedTagListenable: scaleNotifier,
    onTagTap: (tag) {
      if (tag != null && tag is int) {
        controller.setScaleMode(tag);
      }
    },
  );
}