如何在构建方法之外访问mediaquery.of(context).width.height?

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

我并不特别需要访问mediaquery方法,只需要返回本机设备高度和宽度的任何内容。我想要实现的是一个反应主题,它将根据设备的大小缩放文本大小。

flutter
2个回答
0
投票

这正是我在我的应用程序中所做的,我也不想使用mediacontext(因为有时候我没有上下文),请看下面的例子:

https://github.com/lhcdims/statemanagement02

尝试查看lib / ScreenVariables.dart中的类'sv'

并在main.dart中调用sv.init(),然后您可以在任何dart文件中的任何位置使用sv.screenwidth,sv.defaultfontsize ...等。


-1
投票

您无法直接访问构建方法之外的Context对象。您可以将Context对象从构建方法内部传递到单独的构建函数。

Widget build(BuildContext context){
  return Container(
    children: buildChildren(context)
  );
}

Widget buildChildren(BuildContext context){
  ...
}
© www.soinside.com 2019 - 2024. All rights reserved.