Я реализую интерфейс входа в систему, где пользователям не нужно переключаться между страницей / маршрутом для регистрации или входа в систему, но остаются той же страницей / маршрутом, но меняются содержимое для входа в систему и регистрации, так как можно контролировать содержимое для входа в систему при входе в систему нажали и для регистрации при регистрации нажали.
Изображение для понимания: https://i.stack.imgur.com/Fhwdt.png
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData(
// primarySwatch: Colors.white,
),
home: Scaffold(
body: Stack(
fit: StackFit.expand,
children: <Widget>[
Container(
// height: MediaQuery.of(context).size.height,
// width: MediaQuery.of(context).size.width,
height: 500.0,
width: 400.0,
child: Column(
children: <Widget>[
SizedBox(
height: 80.0,
),
Column(
children: <Widget>[
CircleAvatar(
child: Text("Logo"),
backgroundColor: Colors.blue,
),
Text("Slogan")
],
),
SizedBox(
height: 40.0,
),
Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
onPressed: () {
setState(() {
login = true;
});
},
child: Text("SignUp"),
),
SizedBox(
width: 20.0,
),
RaisedButton(
onPressed: () {
setState(() {
login = false;
});
},
child: Text("Login"),
)
],
),
SizedBox(
height: 20.0,
),
login ? Signup() : new Login(),
// new FragmentB()
],
),
)
],
),
),
);
}
class Login extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
color: Colors.purple,
);
}
}
class Signup extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
color: Colors.blue,
);
}
}