Hello, I'm new in flutter , I created a login form in main.dart
page after tapping the logout
button it will open the Tabbar with 2 children's Tab1.dart
and Tab2.dart
. In Tab2.dart
, I have logout button and on logout click I just to navigate to my login page but I tried and it shows a black screen to me.
//main.dart
child: RaisedButton(
child: Text(
"Login",
style: TextStyle(fontSize: 20),
),
onPressed: () {
Navigator.push(context,
MaterialPageRoute(builder: (context) => TabBarPage()));
},
)
//Tab2.dart
class Tab2 extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("PROFILE"),
),
body: Center(
child: Container(
padding: EdgeInsets.fromLTRB(10, 10, 10, 10),
child: Column(
children: <Widget>[
Padding(
padding: const EdgeInsets.all(8.0),
child: Container(
child: RaisedButton(
color: Theme.of(context).accentColor,
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Text(
'Logout',
style: TextStyle(
fontSize: 20,
fontWeight: FontWeight.w700,
color: Colors.white,
),
),
Icon(
Icons.settings_power,
color: Colors.white,
),
],
),
onPressed: () {
Navigator.pop(context);
},
),
),
)
],
),
),
),
);
}
}
Just Replace your main.dart
code with below code
child: RaisedButton(
child: Text(
"Login",
style: TextStyle(fontSize: 20),
),
onPressed: () {
Navigator.of(context).pushAndRemoveUntil(
MaterialPageRoute(builder: (context) => TabBarPage()))
},
)
Instead of RaisedButton
use FloationActionButton
and give heroTag="btn1"
. It must solve your problem
FloatingActionButton(
heroTag="btn1",
child: Text(
"Login",
style: TextStyle(fontSize: 20),
),
onPressed: () {
Navigator.push(context,
MaterialPageRoute(builder: (context) => TabBarPage()));
},
)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.