【发布时间】:2021-03-31 15:01:59
【问题描述】:
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: [
],),);
}
}
错误:从上下文开始找不到 MediaQuery 祖先 传递给 MediaQuery.of()。这可能发生,因为你有 未添加 WidgetsApp、CupertinoApp 或 MaterialApp 小部件(那些 小部件引入了 MediaQuery),或者如果您的上下文可能会发生这种情况 use 来自这些小部件上方的小部件。
我不明白这个错误,我创建了一个 MaterialApp Widget 并从那里调用 MediaQuery,为什么会出现这个错误?
【问题讨论】:
标签: android flutter dart flutter-layout