Flutter 可重复使用的TextStyle或BoxEdition,其中包含未来的功能-SharedPrefs-如何?

Flutter 可重复使用的TextStyle或BoxEdition,其中包含未来的功能-SharedPrefs-如何?,flutter,Flutter,我正在根据应用内设置从共享首选项中检索变量数据,但我很难将其动态应用于可重用的BoxEdition或TextStyle 例如,假设这是我的代码: import 'package:baler_bonus/notifiers_providers/settings_notifier.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; class MyPage extends S

我正在根据应用内设置从共享首选项中检索变量数据,但我很难将其动态应用于可重用的BoxEdition或TextStyle

例如,假设这是我的代码:

import 'package:baler_bonus/notifiers_providers/settings_notifier.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';

class MyPage extends StatefulWidget {
  @override
  _MyPageState createState() => _MyPageState();
}

class _MyPageState extends State<MyPage> {
  @override
  Widget build(BuildContext context) {
    return Consumer<SettingsNotifier>(
        builder: (context, notifier, child) {
          return Container(
            decoration: BoxDecoration(
              color: notifier.selectedColor,
            ),
            child: Text(
              '',
              style: TextStyle(
                fontSize: notifier.selectedSize,
              ),
            ),
          );
        }
    );
  }
}
由此我得到了一个错误:不能从静态方法访问实例成员

如果从TextStyle中删除static,则会出现错误“无法使用静态访问访问实例成员'mainBody' 如果我将static添加到getFontSize函数中,就会出现错误“type'Future'不是type'double'的子类型”

我也尝试过: 二,

final kTextStyle=消费者(
生成器:(上下文、子对象、通知程序){
返回文本样式(
fontSize:notifier.selectedSize,
)
}
);
我得到一个错误“返回类型'TextStyle'不是一个'Widget',这是闭包上下文所要求的。”

最后我试着: 三,

void kTextStyle(){
退货消费者(
生成器:(buildContext、通知程序、子级){
返回文本样式(
fontSize:notifier.selectedSize,
),
},
)
}
我得到错误“无法从函数“kTextStyle”返回类型为“Consumer”的值,因为它的返回类型为“void”


如果您能抽出时间帮助修复或重新编码以实现,我将不胜感激。

我不明白您为什么要将此类数据存储在shared Pref中,因为它是异步函数,需要时间才能取回数据。 但您可以像这样将其存储在类中

class ChagneItemValues {
  static const double fontSize = 1.0;
 static const double padding = 10.0;
  
}

我不明白为什么要将这种类型的数据存储在shared Pref中,因为它是异步函数,需要时间才能恢复数据。 但您可以像这样将其存储在类中

class ChagneItemValues {
  static const double fontSize = 1.0;
 static const double padding = 10.0;
  
}

我希望用户能够调整应用程序的字体大小,以满足他们的眼睛水平。因此,我尝试将其保存在共享prefs中,以便应用程序能够记住设置,这样他们就不必每次都更改它。我希望用户能够调整应用程序的字体大小以满足他们的视觉水平。因此,我尝试将其保存在共享prefs中,以便应用程序能够记住设置,这样他们就不必每次都更改它
void kTextStyle() {
  return Consumer<SettingsNotifier>(
      builder: (buildContext, notifier, child) {
        return TextStyle(
          fontSize: notifier.selectedSize,
        ),
      },
  )
}
class ChagneItemValues {
  static const double fontSize = 1.0;
 static const double padding = 10.0;
  
}