So i want to make each container in the grid clickable to navigate to another page.
gridview
Wrap your container in an InkWell() widget, and use the onTap() function to implement the logic to navigate to the another page.
You can use either Inkwell widget or GestureDetector Widget
Related
I'm new to Flutter / Dart so sorry if this is a dumb question.
I'm trying the "flutter_horizontal_featured_list" widget but don't know how to access item index inside onPressedItem? As this method is outside itemBuilder I can't seem to access the index property...
Found no documentation here: https://github.com/minhhung2556/romantic_project_flutter_horizontal_featured_list
Thanks!
Use Listview.builder which has a context and index.
for tap you can use inkWell or GestureDetector
Here is the example for listview.builder
You can use InkWell or GestureDetector() as a return Widget of the builder the add the function inside the you can get Widget index.
https://flutter.dev/docs/cookbook/gestures/ripples
The Inkwell widget is explained on the above page.
I'm not sure when to use the Inkwell widget.
I can understand it somehow.
As a procedure when we want to add a ripple effect
1.Create a widget that supports tap
(Generate a widget that supports taps)
2.Wrap it in an InkWell widget to manage tap callbacks and ripple animations.
(Wrap with Inkwell widget)
In the explanation, the Container widget is used as a "widget that supports tapping" as a sample.
I guess the Container widget is probably a "tap-supporting widget",
What kind of widget is "a widget that supports taps"?
(Requirements for saying that taps are supported)
After all, as for how to use the Inkwell widget,
"If you want to add both to a widget that cannot add ripple effect or tap callback by itself"
As described in doc https://api.flutter.dev/flutter/material/InkWell-class.html, A rectangular area of a Material that responds to touch. It doesn't matter which child widget it has, it performs splash animation on it. But The InkWell widget must have a Material widget as an ancestor.
This is like a dropdown menu but doesn't accept any ontap function, just readability.
Please see the image to know how it looks and works
Use a listview of widgets and wrap each widget in the list with flutter-expandable
Check this
https://github.com/aryzhov/flutter-expandable/blob/master/README.md
I added Row widget with rendering on stack widget. I actually want to add more container, but it shows when I click on IconButton. After clicking it does not shows on screen. So how is possible in Flutter ?
Any suggestion?
you could create a stack widget and when the IconButton is pressed you call a function to display the new container( which probably is inside the stack widget you are going to implement)
I have a map view (Google Map: https://pub.dev/packages/google_maps_flutter) in flutter. I don't want to handle onTouch and Markers. I want to create a touch/click listener to the whole map widget. Any way to do it?
Wrap your Map widget with AbsorbPointer. This will prevent Map widget from getting the touch/click/tap events.
Now wrap the AbsorbPointer with a GestureDetector and handle onTap or whatever other gestures you want to handle.
This will allow only touch/click/taps on the AbsorbPointer widget, not on the map widget.
Let me know if any doubts.
Wrap your Widget with a GestureDetector and set behaviour: HitTestBehavior.opaque.
This will not allow the hits to be registered by the child.
You can wrap the child by InkWell and give the onTap() event to it