flutter navigate to new screen
// Within the `FirstRoute` widget
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => SecondRoute()),
);
}
flutter navigate to new screen
// Within the `FirstRoute` widget
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => SecondRoute()),
);
}
go to another page flutter
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => SecondRoute()),
);
}
flutter not navigating to a new screen
Wrap the new screen with a Scaffold widget
//navigation page
return GestureDetector(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => DestinationScreen()),
);
}
// new screen page
class _DestinationScreenState extends State<DestinationScreen> {
@override
Widget build(BuildContext context) {
return Scaffold();
}
}
navigate between pages flutter
class Categories extends StatelessWidget {
void showCategoryProductPage(BuildContext ctx) {
Navigator.of(ctx).push(MaterialPageRoute(builder: (_) {
return CategoryProducts();
}));
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: GridView(
children: [
InkWell(
onTap: () => showCategoryProductPage(context),
child: Container(
child: Text(
'Fist Category',
),
),
),
],
),
);
}
}
class CategoryProducts extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Meal App'),
),
body: Text('Category Product Page'),
);
}
}
navigate between pages flutter
############ USING NAMED ROUTES #############
void main() => runApp(MaterialApp(
home: Categories(),
routes: {
'/category-products': (ctx) => CategoryProducts()
},
));
class Categories extends StatelessWidget {
@override
Widget build(BuildContext context) {
void showCategoryProductPage(BuildContext ctx) {
Navigator.of(ctx).pushNamed('/category-products', arguments: {
'id': '125',
'title': 'Italian Dishes',
});
}
return Scaffold(
body: GridView(
children: [
InkWell(
onTap: () => showCategoryProductPage(context),
child: Container(
child: Text(
'Italian Dishes',
),
),
),
],
),
);
}
}
class CategoryProducts extends StatelessWidget {
@override
Widget build(BuildContext context) {
final themeContext = Theme.of(context);
final routeParameters = ModalRoute.of(context).settings.arguments as Map<String, String>;
final categoryName = routeParameters['title'];
final categoryId = routeParameters['id'];
return Scaffold(
appBar: AppBar(
title: Text(categoryName),
),
body: Center(
child: Text('Category Product Page $categoryId'),
),
);
}
}
Copyright © 2021 Codeinu
Forgot your account's password or having trouble logging into your Account? Don't worry, we'll help you to get back your account. Enter your email address and we'll send you a recovery link to reset your password. If you are experiencing problems resetting your password contact us