flutter - 我在颤振中使用 ScreenUtil 库时出错
问题描述
我正在尝试使用 ScreenUtil() 使我的文本字体大小响应。此行导致错误“ ScreenUtil.init(context); ”。错误是“使用不包含 MediaQuery 的上下文调用 MediaQuery.of()。 ”
Widget build(BuildContext context) {
ScreenUtil.init(context);
return MaterialApp(
title: 'Meals App',
theme: ThemeData(
primarySwatch: Colors.pink,
accentColor: Colors.amber,
canvasColor: Color.fromRGBO(255, 254, 229, 1),
fontFamily: 'Raleway',
textTheme: TextTheme(
headline6: TextStyle(
fontSize: ScreenUtil().setSp(100),
fontFamily: 'RobotoCondensed',
fontWeight: FontWeight.bold,
),
bodyText1: TextStyle(color: Color.fromRGBO(20, 51, 51, 1)),
bodyText2: TextStyle(color: Color.fromRGBO(20, 51, 51, 1)),
),
),
home: TabsScreen(favouriteMeals),
);
}
解决方案
请试试这个。
Widget build(BuildContext context) {
return Builder(builder:(ctx){
ScreenUtil.init(ctx);
return MaterialApp(
title: 'Meals App',
theme: ThemeData(
primarySwatch: Colors.pink,
accentColor: Colors.amber,
canvasColor: Color.fromRGBO(255, 254, 229, 1),
fontFamily: 'Raleway',
textTheme: TextTheme(
headline6: TextStyle(
fontSize: ScreenUtil().setSp(100),
fontFamily: 'RobotoCondensed',
fontWeight: FontWeight.bold,
),
bodyText1: TextStyle(color: Color.fromRGBO(20, 51, 51, 1)),
bodyText2: TextStyle(color: Color.fromRGBO(20, 51, 51, 1)),
),
),
home: TabsScreen(favouriteMeals),
);});
}
这将使用新的 MediaQuery 引入新的上下文
推荐阅读
- r - 数据框中的列未使用 R 中的 read_xls 函数正确读取
- java - 添加两个对象——难以理解接受一个对象作为参数
- c# - 从层次结构中检索特定的类
- sql - 读取数据库记录并转换为不同形式的查询/存储过程?
- sql - 无法绑定多部分标识符“t.tag_instrument_id_fk”
- java - 更新 Embeddable 类中的值
- javascript - 在 JavaScript 中获取三个数组的交集
- java - Http URLConnection 等待内部请求
- node.js - MongoDB - Mongoose,在嵌套查询中添加新文档数据
- html - 删除“contentEditable”元素中的第一个单词将破坏 Angular 6 NgFor 绑定