android - Flutter:未找到 MediaQuery 小部件祖先

标签 android flutter dart flutter-layout

import 'package:flutter/material.dart';

void main() {
  runApp(Calculator());
}

class Calculator extends StatelessWidget {
  final numpad_background_color = Color(0x212121);
  final background_color = Colors.black;
  final equal_button_background_color = Color(0xffbe00);

  final textColor = Colors.white;
  final operatorTextColor = Color(0xf3ba0e);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        home: Scaffold(
            appBar: appbar(context),
            body: Stack(
              children: [Container(height: MediaQuery.of(context).size.height * 0.37), numpad(context)],
            )));
  }

  Widget appbar(BuildContext context) {
    return AppBar(title: Text("Rechner", style: TextStyle(color: textColor, fontSize: 15)), backgroundColor: background_color, leading: Icon(Icons.history));
  }

  Widget numpad(BuildContext context) {
    return Container(decoration: BoxDecoration(borderRadius: BorderRadius.circular(5), color: numpad_background_color), child:
      Column(children: [

      ],),);
  }
}

Error: No MediaQuery ancestor could be found starting from the context that was passed to MediaQuery.of(). This can happen because you have not added a WidgetsApp, CupertinoApp, or MaterialApp widget (those widgets introduce a MediaQuery), or it can happen if the context you use comes from a widget above those widgets.


我不明白这个错误,我创建了一个 MaterialApp Widget 并从那里调用 MediaQuery,为什么会出现这个错误?

最佳答案

尝试创建另一个像这样的小部件

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Calculator(),
    );
  }
}
然后您的主要方法将如下所示
void main() {
  runApp(MyApp());
}

关于android - Flutter:未找到 MediaQuery 小部件祖先,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65399708/

相关文章:

android - 私有(private)建筑的室内地图

android - 如何以编程方式添加到布局复合组件 Android?

android - 如何访问存储在 kotlin block 中的变量中的值

ios - Flutter:iOS NavigationBar 过渡

android - Gradle 访问同一文件中 `apply from: ' '` 的属性

image - 无法加载 Assets 图像

flutter - 如何在Google上创建类似于 'my activity'的用户历史记录页面-Flutter

visual-studio-code - Flutter-为我的应用程序创建一个 android 模拟器

dart - Dart替换了抽象语法树中的节点

ios - 从 Flutter/Dart 检测 iOS13 深色模式是否启用