Looking for advice on how to add routes - flutter

I'm very new in all this, so please don't judge me for asking something that many of you know so well.
Basically I'm looking for some advice, how I can add route to second screen in my first app. I can share the code, if you need. I have icons row, and I'm wondering how I can add route to one of the icons?

Wrap one of your icons in a GestureDetector widget. And call Navigator.push() on its onTap method to navigate to the second screen. Follow the below example
GestureDetector(
child: Icon(Icons.navigate_next),
onTap: () {
Navigator.push(context, MaterialPageRoute(builder: (context) => SecondPage()));
},
),
Take a look at the Navigator class to find out more about other navigation options.
The GestureDetector widget allows you to detect gestures such as a tap on the screen.
Call the below method to return back to the first screen
Navigator.pop(context);
Once you are familiar with this process, take a look at named routes as mentioned in #mmcdon20's comment

Related

On tap on suggestion in search bar not working in flutter web using flutter_typeahead package

I'm using flutter_typeahead: ^4.3.3 package for search bar.
When the onChange event is dispatched, it will call API and show suggestion on that but it's running one keyword behind the actual search and whenever I try to tap on suggestion it will not navigate to next screen.
I had try to navigate on onSuggestionSelected, onTap and suggestionsCallback but it will not navigate to next screen.
The issue you're facing with flutter_typeahead might be due to incorrect implementation of the onSuggestionSelected or onTap event handlers.
To correctly navigate to the next screen, you need to use the Navigator class in Flutter. Here's an example on how to do it using the onSuggestionSelected event handler:
TypeAheadField(
onSuggestionSelected: (suggestion) {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => YourNextScreen(suggestion),
),
);
},
// Other TypeAheadField properties and configurations
)
In the code above, YourNextScreen is the widget class for the next screen you want to navigate to. The suggestion argument is the selected suggestion from the suggestions list.
Make sure to pass the appropriate BuildContext to the Navigator and also ensure that you have set up the routing in your Flutter app.

How to add suggetionbox in web when cursor is on button

I want to show suggestion when cursor is on button or on some widget in flutter web
I share example how I want to show suggestion box but I don't know how to add suggestion box in flutter
You need to wrap widget with Tooltip see example.
flutter tooltip example
Try below code hope its help to you. Used Tooltip Widget
Refer Tooltip here
Test below code here
Tooltip(
message: "Managers",
child: ElevatedButton(
onPressed: () {},
child: Text('OK'),
),
),
Result Screen->
In addition to all the tooltip related recommendations, if they don't quite meet your requirements, there's OverlayEntry It allows to use any widget, but is not super easy to handle, so there's a couple packages out there that do some work with Overlays for you that you might consider.
https://pub.dev/packages/flutter_portal
https://pub.dev/packages/modals
To show overlay entry when hovering over some widget, wrap it with MouseRegion and use its onEnter and onExit methods to show and hide overlay

Flutter show double bottomsheet type design

I need to know what type of widget is this in flutter or how can create this. I know this question is irrelevant but I didn't find this so that's why I need to ask
You can see it's showing a round bottom sheet type thing and in the background show one more rounded bottom sheet. These types of things I see in every app now and need to design something similar any help how can I achieve this?
try modal_bottom_sheet:
showCupertinoModalBottomSheet(
context: context,
builder: (context) => Container(),
)

Close page alongside bottom sheet without calling Navigator.pop twice in flutter

I have a bottom sheet inside a page. Inside a bottom sheet, I want that if its tapped, it closes both the sheet and the page. What I used to achieve this is calling Navigator.pop(context) twice. However, this affects the performance of the app as the navigation isn't really smooth. Are there other options to achieving this?
CustomButton2(
text: 'Check out other fleets',
width: 85.0,
onPressed: () {
Navigator.pop(context); //closes bottom sheet
Navigator.pop(context); //closes page to reveal previous screen
},
color: greenColor,
textSize: 18),
It depends on what do you want to achieve.
If it is to go back to a certain named page or Route in the Navigation Stack,
you can use the function below
Navigator.popUntil(context, ModalRoute.withName("Foo"))
This will automatically pop to a certain Route with the name given without "actually" popping twice.
If you do not want to use it, and it doesn't answer your problem, you can actually achieve it by popping twice just like you did. It will run more smoothly if it were on the release build.
More Info in https://api.flutter.dev/flutter/widgets/Navigator-class.html

How to Swipe a card in a group of listview and open repective page releated to that card while using Page View in flutter?

Image understands you the purpose better
https://i.stack.imgur.com/Z45YH.jpg
I tried everything but failed!
Navigating
Navigating to a new Page is easy
Navigator.push(
context,
MaterialPageRoute(builder: (context) => SecondRoute()),
);
"SecoundRoute" is the Widget you will open in a new Window.
More information about this here.
Swipe gesture
This is a bit more complicated. There is a widget called "Dismissible" but like the name say its to dismiss something from a List. There is an issue which suggests to make it possible to avoid deleting the entry from the ListView directly. However, this is inactive. I don't know whether this feature is there or where it is on the priority list.
dismissible
If you use a prebuild and static list of widgets you can maybe get around it, by navigating to the naw page in the onDismissed: callback and using pushReplacement in the rout back. This will case your main page to get Rebuild. Because your Widgets are static I think they will be their again.
Navigator.pushReplacement(
context,
MaterialPageRoute(
builder: (context) => Page1(),
),
);
flutter_slidable
There is a plugin called flutter_slidable perhaps a solution can be found with this plugin.