Flutter 文本样式/字体大小

Flutter TextStyle / fontSize

我想要 TextStyle / fontSize 来简化我的应用程序。

为此,有必要将行“

fontSize: Get.width * .030,

”的附加代码可用,类似于颜色“

{Color color = Colors.white}

这是我要自定义的代码...

TextStyle _textStyle({Color color = Colors.white}) {
  return GoogleFonts.getFont(
    'Unica One',
    fontSize: Get.width * .030,
    color: color,
    letterSpacing: 0.5,
  );
}

它应该看起来像那样,但不幸的是我不知道如何正确地将它们组合在一起

TextStyle _textStyle({Color color = Colors.white}{FontSize fontSize = Get.width * .030}) {
  return GoogleFonts.getFont(
    'Unica One',
    fontSize: fontSize,
    color: color,
    letterSpacing: 0.5,
  );
}

需要将 FontSize 类型更改为 double

TextStyle _textStyle({Color color = Colors.white ,double fontSize = Get.width * .030}) {
  return GoogleFonts.getFont(
    'Unica One',
    fontSize: fontSize,
    color: color,
    letterSpacing: 0.5,
  );
}```

文本 class 具有样式,

class StoryText extends Text {
  StoryText(String title, {Color mColor, double mFontSize})
      : super(title,
            style: GoogleFonts.getFont(
              'Unica One',
              fontSize: mFontSize,
              color: mColor,
              letterSpacing: 0.5,
            ));
}

// Use of above class
StoryText('title', mColor: Colors.red, mFontSize: Get.width * .030,),

你能告诉我如何在“TextField (”的“hintText:”中使用它吗?

当我这样做的时候

hintStyle: StyledText (
                  color: Colors.black,
                ),

然后我得到错误

"The argument type 'StyledText' can't be assigned to the parameter type 'TextStyle?'. (Documentation)"

我已经修改了你的代码,所以它到目前为止可以正常工作,再次感谢你..只想将它与“hintStyle”一起使用

import 'package: flutter / cupertino.dart';
import 'package: flutter / material.dart';
import 'package: google_fonts / google_fonts.dart';

class StyledText extends Text {
  StyledText (
      String title,
      {
        double fontSize = 10.5,
        color = Colors.white,
        fontWeight = FontWeight.w100,
        letterSpacing = 0.5,
        textAlign: TextAlign.center,
      })
      : super (title,
      style: GoogleFonts.getFont (
        'Unica One',
        fontSize: fontSize,
        color: color,
        fontWeight: fontWeight,
        letterSpacing: 0.5,
      ),
    textAlign: textAlign,
  );
}