• 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
..
cupertino Loading commit data...
gestures/tap_and_drag Loading commit data...
material Loading commit data...
painting Loading commit data...
rendering Loading commit data...
sample_templates Loading commit data...
services Loading commit data...
ui/text Loading commit data...
widgets Loading commit data...
flutter_test_config.dart Loading commit data...
goldens_io.dart Loading commit data...
goldens_web.dart Loading commit data...