• Andrea Cioni's avatar
    Add an example for `InputChip` generated by user input (#130645) · 400702d1
    Andrea Cioni authored
    New example for `InputChip` that demonstrate how to create/delete them based on user text inputs.
    
    The sample application shows a custom text area where user can enter text. After the user has typed and hits _Enter_ the text will be replaced with an `InputChip` that contains that text. Is it possible to continue typing and add more chips in this way. All of them will be placed in a scrollable horizontal row. Also is it possible to have suggestion displayed below the text input field in case the typed text match some of the available suggestions.
    
    Issue I'm trying to solve:
    
    - https://github.com/flutter/flutter/issues/128247
    
    **Code structure:**
    
    The example app is composed of 2 main components that find places inside `MainScreen`:
    
     - `ChipsInput`
     - `ListView`
    
    `ChipsInput` emulates a `TextField` where you can enter text. This text field accepts also a list of values of generic type T (`Topping` in my example), that gets rendered as `InputChip` inside the text field, before the text inserted by the user. This widgets is basically an `InputDecorator` widget that implements `TextInputClient` to get `TextEditingValue` events from the user keyboard. At the end of the input field there is another component, the `TextCursor`, that is displayed just when the user give the focus to the field and emulates the carrets that `TextField` has.
    
    There are also some available callbacks that the user can use to capture events in the `ChipsInput` field like: `onChanged`, `onChipTapped`, `onSubmitted` and `onTextChanged`. This last callback is used to build a list of suggestion that will be placed just below the `ChipsInput` field inside the `ListView`.
    400702d1
Name
Last commit
Last update
..
android Loading commit data...
ios Loading commit data...
lib Loading commit data...
linux Loading commit data...
macos Loading commit data...
test Loading commit data...
test_driver Loading commit data...
web Loading commit data...
windows Loading commit data...
.metadata Loading commit data...
README.md Loading commit data...
analysis_options.yaml Loading commit data...
pubspec.yaml Loading commit data...