dart 不是"StyleHook.textStyle“有效重写

0ejtzxu1  于 4个月前  发布在  其他
关注(0)|答案(2)|浏览(37)

误差
方法“Style.textStyle”的位置参数比重写方法“StyleHook. textStyle”的位置参数少。
x1c 0d1x的数据
“Style.textStyle”(“TextStyle * Function(Color*)”)不是“StyleHook.textStyle”(“TextStyle Function(Color,String?”))的有效重写。
Flutter通道稳定,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);
  }

}

字符串

ajsxfq5m

ajsxfq5m1#

如果您有类似问题,只需添加String? fontFamily参数添加throw UnimplementedError();
textStyle覆盖看起来像这样:

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

    throw UnimplementedError();
  }

...

字符串
如果需要从textStyle override返回,可以这样修改:

...

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

...


希望这能帮到你。

xt0899hw

xt0899hw2#

我在使用convex_bottom_bar时遇到了类似的问题。解决方案发布在下面的URL上,我跟随它,它解决了问题。
Error: The method 'Style.textStyle' has fewer positional arguments than
我查看了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,
        );
    }
}

字符串

相关问题