initThemeConfig method

  1. @override
void initThemeConfig(
  1. String configId, {
  2. SantoCommonConfig? currentLevelCommonConfig,
})
override

部分代码示意如下:

pairInfoTableConfig.valueTextStyle.merge(
  SantoTextStyle(
    color: commonConfig.colorTextBase,
    fontSize: commonConfig.fontSizeBase,
  ).merge(valueTextStyle),
);

- 以 `commonConfig` 字段为基础 merge `valueTextStyle`。
  `valueTextStyle` 字段优先级高,当valueTextStyle中字段(如 color)为 null 时
  会使用 `commonConfig.colorTextBase`。
- 以默认上一级配置为基础 merge 第一步的结果,当第一步中字段(如 color)为空时,
  使用上一层级配置的 color (`pairInfoTableConfig.valueTextStyle.color`)。

Implementation

@override
void initThemeConfig(
  String configId, {
  SantoCommonConfig? currentLevelCommonConfig,
}) {
  super.initThemeConfig(
    configId,
    currentLevelCommonConfig: currentLevelCommonConfig,
  );

  SantoButtonConfig userConfig = SantoThemeConfigurator.instance
      .getConfig(configId: configId)
      .buttonConfig;

  _largeButtonRadius ??= userConfig._largeButtonRadius;
  _largeButtonHeight ??= userConfig._largeButtonHeight;
  _largeButtonFontSize ??= userConfig._largeButtonFontSize;
  _middleButtonRadius ??= userConfig._middleButtonRadius;
  _middleButtonHeight ??= userConfig._middleButtonHeight;
  _middleButtonFontSize ??= userConfig._middleButtonFontSize;
  _smallButtonRadius ??= userConfig._smallButtonRadius;
  _smallButtonHeight ??= userConfig._smallButtonHeight;
  _smallButtonFontSize ??= userConfig._smallButtonFontSize;
}