Flutter Desktop: Disable built-in keyboard actions in a listview - flutter

Flutter desktop:
I'm successfully using the RawKeyboardListener widget to use physical arrow keys and control the listview (selects items up and down). The scaffold is wrapped in it.
The problem is the listview widget itself has built in default keyboard actions on the arrow keys that also scroll up and down. These actions that are randomly triggered in the listview when they are pressed along with my custom actions handled by the RawKeyboardListener.
Does anyone know how to disable default listview keyboard actions on flutter desktop to prevent it from listening to physical keyboard input / triggering built-in actions. Cheers.

Related

Flutter - How to stop dialogs resizing or shifting when keyboard is activated

I have a number of Dialogs that use a keyboard for text input. Whenever the keyboard is activated, the Dialog windows shift position upwards and resize.
I would like to stop this behaviour so that the keyboard is forced over the Dialog content. Is there a way to force this?
I have set resizeToAvoidBottomInset: false in my Scaffold.
Note that I am using a DefaultTabController as a parent widget of my Scaffold

Is there any way to push Widget above of the Keyboard when it shows up?

I uses TextFormField with Scrollable parent, when the keyboard shows up, is there any way to have the Widgets to be above the keyboard? Is it FocusNode that I should be using?
Current Situation
From this, you can see that when my keyboard shows up, the Button will be covered.
If you can, just put all widgets which needs to stay over the keyboard in a SingleChildScrollView, and set reverse property of the SingleChildScrollView to true

How to show Default Android Messages like (+) button and show custom widget in place of keyboard in flutter?

How can I implement default android Messages like a custom widget in place of the keyboard shown in the GIF?
When you tap on + button, what happens is,
Keyboard Closed, to achieve this you can use FocusNode instance and assign in TextField, to unfocus or to close keyboard, you can achieve it by focusNode.unfocus().
The content you see on tap of + is outside keyboard, i.e. you have to create widget and change it's visibility accordingly, Visibility can be used.
In other case misc options is visible and user tap on keyboard icon then change visibility of extra options and obtain focus of FocusNode instance(enable keyboard), by focusNode.requestFocus().

Swipe a container (message box like telegram) left in flutter

I'm trying to implement left dragging to a specific container or actually a message box like the one in Telegram where you can swipe the message left to reply to it.
Telegram message dragging when reply
I tried the Flutter Dismissible Widget but firstly it destroys the widget or remove it and secondly couldn't find a way to drag it to the center only.
What I want is the same technique in Telegram to implement it on Flutter
Any ideas?
You can use swipeable package, it allows you to wrap a widget with some threshold and a few callbacks that you can react, onSwipeLeft or onSwipeRight for this case. Then you save the selected message and render the message box on top of the message bar.

ExpansionTile - how to collapse other tiles, hide keyboard on press

I'm new to Flutter, trying to build my first app.
my main app body contains a one level ExpansionTile list, which can be filterable by a searchbar.
I'm trying to implement the following behavior -
after a user press a tile to reveal the expanded info
1. the keyboard, if present, should hide
2. previously open tile if expanded should collapse
I have tried using GestureDetector on the root widget with on tap function taking focus, but it does not detect tapping on tiles.
using expansionList onExpansionChanged seems logical but i don't understand how to use it
advice will be greatly appreciated..