60 lines
1.4 KiB
Dart
Executable File
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';
|
|
}
|
|
} |