initThemeConfig method
部分代码示意如下:
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;
}