Flutter升级至3.1.0后FontWeight实现错误求助
解决Flutter 3.1.0中自定义FontWeight枚举的实现错误
Flutter 3.1.0版本对FontWeight类进行了更新,新增了抽象getter方法int get value,因此所有实现FontWeight的类(包括你的自定义枚举)都必须提供这个方法的具体实现。
修改你的TitleWeight枚举类,添加value getter的实现即可解决报错:
enum TitleWeight implements FontWeight { regular(FontWeight.w400), medium(FontWeight.w500), semiBold(FontWeight.w600), bold(FontWeight.w700), extraBold(FontWeight.w800), black(FontWeight.w900); final FontWeight weight; const TitleWeight(this.weight); @override int get value => weight.value; }
说明
因为你的枚举实例已经持有一个FontWeight对象,直接返回该对象的value属性是最稳妥的方式——既满足了FontWeight接口的要求,又复用了官方FontWeight的定义,避免硬编码数值可能带来的错误。
内容的提问来源于stack exchange,提问作者Richmond Bautista
相关产品推荐
相关产品推荐

