这是我的代码;它没有显示任何错误,但是在模拟器上显示红屏,我不明白为什么
'import 'package:flutter/material.dart';
import './loginpage.dart';
void main()
{
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return LoginPage();
}
}
以上是main.dart
。
以下是LoginPage.dart
:
import 'package:flutter/material.dart';
import 'package:firebase_auth/firebase_auth.dart';
class LoginPage extends StatefulWidget{
@override
_LoginPageState createState()=> _LoginPageState();
}
enum FormType{
register,
login
}
class _LoginPageState extends State<LoginPage>{
FormType _formType=FormType.login;
@override
Widget build(BuildContext context){
return (_formType==FormType.login) ? gotologin() : gotoregister();
}
Widget gotologin(){
return Scaffold(
body: Column(
children: <Widget>[
Container(
padding: EdgeInsets.only(left: 30.0,right: 30.0,bottom: 50.0),
height: 300.0,
color: Color.fromARGB(10, 11, 40, 209),
child: Center(
child:Image.asset('assets/logohome1(3).png'),
),
)
],
),
);
}
}
Widget gotoregister() {
return Container(
child: Text("data"),
);
}'
上面是代码,请说明是否有任何错误或某些语法错误
我不完全知道您收到的错误。
我已经尝试过您的代码,这是我收到的错误:
I/flutter ( 8206): The following assertion was thrown building LoginPage(state: _LoginPageState#a1b8a):
I/flutter ( 8206): MediaQuery.of() called with a context that does not contain a MediaQuery.
I/flutter ( 8206): No MediaQuery ancestor could be found starting from the context that was passed to MediaQuery.of().
....
该错误表明MediaQuery
您的祖先链中没有小部件。该Scaffold
部件需要它。
这可以通过添加向树添加a的MaterialApp
小部件来解决MediaQuery
:
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
home: LoginPage(),
);
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句