hi-client/lib/app/widgets/kr_app_text_style.dart
2025-10-13 18:08:02 +08:00

60 lines
1.4 KiB
Dart
Executable File

import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
class KrAppTextStyle extends TextStyle {
KrAppTextStyle({
required double fontSize,
FontWeight fontWeight = FontWeight.w400,
Color? color,
}) : super(
fontSize: fontSize.sp,
fontFamily: _getFontFamily(fontWeight),
fontWeight: fontWeight,
color: color,
height: 1.4,
);
// 提供标题文本样式
static KrAppTextStyle titleTextStyle({
required double fontSize,
Color? color,
}) {
return _commonTextStyle(
fontSize: fontSize,
fontWeight: FontWeight.w500,
color: color,
);
}
// 私有方法创建正文文本样式
static KrAppTextStyle _bodyTextStyle({
required double fontSize,
Color? color,
}) {
return _commonTextStyle(
fontSize: fontSize,
fontWeight: FontWeight.w400,
color: color,
);
}
// 私有方法创建常规文本样式
static KrAppTextStyle _commonTextStyle({
required double fontSize,
FontWeight fontWeight = FontWeight.w400,
Color? color,
}) {
return KrAppTextStyle(
fontSize: fontSize,
fontWeight: fontWeight,
color: color,
);
}
// 根据字体粗细获取字体家族
static String _getFontFamily(FontWeight fontWeight) {
return fontWeight == FontWeight.w500
? 'AlibabaPuHuiTi-Medium'
: 'AlibabaPuHuiTi-Regular';
}
}