buildDefaultHeader function
创建默认的下拉刷新头部组件
Implementation
ClassicHeader buildDefaultHeader() {
// 从配置管理器获取刷新配置
final refreshConfig = StormyRefresh.config;
final theme = StormyConfigAccessor.theme;
final textConfig = refreshConfig.textConfig;
// 获取颜色,优先使用刷新配置中的颜色,无配置则使用主题色,最后是默认颜色
final bodyTextColor =
refreshConfig.textColor ?? theme?.primaryColor ?? const Color(0xFF666666);
final contentTextColor =
refreshConfig.textColor ?? theme?.primaryColor ?? const Color(0xFF999999);
return ClassicHeader(
triggerOffset: refreshConfig.triggerOffset,
processedDuration: refreshConfig.processedDuration,
iconDimension: refreshConfig.iconDimension,
spacing: refreshConfig.spacing,
textStyle:
refreshConfig.textStyle ??
TextStyle(fontSize: 13.sp, color: bodyTextColor),
messageStyle:
refreshConfig.messageStyle ??
TextStyle(fontSize: 13.sp, color: contentTextColor),
pullIconBuilder:
(BuildContext context, IndicatorState state, double offset) {
return switch (state.mode) {
_ => const SizedBox.shrink(),
};
},
readyText:
refreshConfig.stateTexts?.ready ??
textConfig.loading ??
'加载中...',
processingText:
refreshConfig.stateTexts?.processing ??
textConfig.loading ??
'加载中...',
armedText:
refreshConfig.stateTexts?.armed ??
textConfig.releaseToLoad ??
'释放加载',
dragText:
refreshConfig.stateTexts?.drag ??
textConfig.pullToLoad ??
'下拉加载',
processedText:
refreshConfig.stateTexts?.processed ??
textConfig.loadSuccessMessage ??
'加载完成',
failedText:
refreshConfig.stateTexts?.failed ??
textConfig.loadFailed ??
'加载失败',
messageText: '',
showMessage: refreshConfig.showMessage,
safeArea: refreshConfig.safeArea,
);
}