不是 'StyleHook.textStyle

问题描述 投票:0回答:2

错误是

“Style.textStyle”方法的位置参数比那些方法少 重写方法“StyleHook.textStyle”。文本样式 文本样式(颜色 颜色)

'Style.textStyle' ('TextStyle* Function(Color*)*') 不是有效的 覆盖 'StyleHook.textStyle' ('TextStyle Function(Color, 字符串?)')。

Flutter Channel 稳定,3.0.0

环境: SDK:">=2.7.2 <3.0.0"

问题来了 @override TextStyle textStyle(Color color) { return TextStyle(color: color);

class Style extends StyleHook {
  @override
  double get activeIconSize => 28;

  @override
  double get activeIconMargin => 10;

  @override
  double get iconSize => 20;

  @override
  TextStyle textStyle(Color color) {
    return TextStyle(color: color);
  }

}
flutter dart flutter-layout
2个回答
0
投票

我使用凸底条时遇到了类似的问题。 解决方案发布在以下网址,我按照它解决了问题。

错误:“Style.textStyle”方法的位置参数比

我查看了StyleHook定义,发现可选地指定了一个String类型,所以我将其更改为接受它,如下所示,并且没有出现错误。

class Style extends StyleHook {
    @override
    double get activeIconSize => 30;

    @override
    double get activeIconMargin => 5;

    @override
    double get iconSize => 24;

    @override
    TextStyle textStyle(Color color, String s) {
        return TextStyle(
            fontSize: 11,
            color: Colors.white,
        );
    }
}

0
投票

如果您有类似的问题,只需添加

fontFamily
参数和
throw UnimplementedError();

textStyle 覆盖看起来像这样:

...
  
  @override
  TextStyle textStyle(Color color, String? fontFamily) {
    
    // TODO: implement textStyle
    TextStyle(fontSize: 20, color: color);

    throw UnimplementedError();
  }

...

希望这可以帮助你!

© www.soinside.com 2019 - 2024. All rights reserved.