导航到新页面时黑屏抖动
Blackscreen when navigate to new page flutter
目前我创建了一个应用程序,在列表中显示我的传感器数据,但我的问题是,如果我想导航到列表页面,我总是会出现黑屏。
我试过这样导航:
Container(
height: 150.0,
margin: EdgeInsets.fromLTRB(75, 25, 75, 100),
child: Material(
borderRadius: BorderRadius.circular(20.0),
shadowColor: Colors.greenAccent,
color: Colors.green,
elevation: 7.0,
child: GestureDetector(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => DataPage(key: null,)));
},
我得到了错误
The argument type 'Null' can't be assigned to the parameter type 'Key'.
这是我的列表页面代码的一部分
class DataPage extends StatelessWidget {
const DataPage({
required Key key,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Hive Test'),
),
body: Column(
children: <Widget>[
Expanded(child: _buildListView()),
],
));
}
以我目前的知识,我不知道如何解决我的问题。如有任何语法错误,我们深表歉意,如有任何帮助,我将不胜感激!
您在数据页中的构造函数如下所示:
const DataPage({Key? key}) : super(key: key);
发生这种情况是因为您在导航到数据页屏幕时在键中传递了 'null'。 Key 是可选参数,因此您可以通过这种方式使其可为空。
编辑您的第一个片段:
Container(
height: 150.0,
margin: EdgeInsets.fromLTRB(75, 25, 75, 100),
child: Material(
borderRadius: BorderRadius.circular(20.0),
shadowColor: Colors.greenAccent,
color: Colors.green,
elevation: 7.0,
child: GestureDetector(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => DataPage()));
},
对您的第二个片段的编辑:
class DataPage extends StatelessWidget {
const DataPage({
Key? key,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Hive Test'),
),
body: Column(
children: <Widget>[
Expanded(child: _buildListView()),
],
));
}
目前我创建了一个应用程序,在列表中显示我的传感器数据,但我的问题是,如果我想导航到列表页面,我总是会出现黑屏。 我试过这样导航:
Container(
height: 150.0,
margin: EdgeInsets.fromLTRB(75, 25, 75, 100),
child: Material(
borderRadius: BorderRadius.circular(20.0),
shadowColor: Colors.greenAccent,
color: Colors.green,
elevation: 7.0,
child: GestureDetector(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => DataPage(key: null,)));
},
我得到了错误
The argument type 'Null' can't be assigned to the parameter type 'Key'.
这是我的列表页面代码的一部分
class DataPage extends StatelessWidget {
const DataPage({
required Key key,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Hive Test'),
),
body: Column(
children: <Widget>[
Expanded(child: _buildListView()),
],
));
}
以我目前的知识,我不知道如何解决我的问题。如有任何语法错误,我们深表歉意,如有任何帮助,我将不胜感激!
您在数据页中的构造函数如下所示:
const DataPage({Key? key}) : super(key: key);
发生这种情况是因为您在导航到数据页屏幕时在键中传递了 'null'。 Key 是可选参数,因此您可以通过这种方式使其可为空。
编辑您的第一个片段:
Container(
height: 150.0,
margin: EdgeInsets.fromLTRB(75, 25, 75, 100),
child: Material(
borderRadius: BorderRadius.circular(20.0),
shadowColor: Colors.greenAccent,
color: Colors.green,
elevation: 7.0,
child: GestureDetector(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => DataPage()));
},
对您的第二个片段的编辑:
class DataPage extends StatelessWidget {
const DataPage({
Key? key,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Hive Test'),
),
body: Column(
children: <Widget>[
Expanded(child: _buildListView()),
],
));
}