Tweetoshi / fluttertagger

A Flutter package that allows for the extension of TextFields to provide tagging capabilities (e.g @ user mentions and # hashtags).

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FlutterTagger

FlutterTagger

likes popularity pub points

FlutterTagger is a Flutter package that allows for the extension of TextFields to provide tagging capabilities. A typical use case is in social apps where user mentions and hashtags features are desired.

Install πŸš€

In the pubspec.yaml of your flutter project, add the following dependency:

dependencies:
  fluttertagger: ^2.0.0

Import the package in your project πŸ“₯

import 'package:fluttertagger/fluttertagger.dart';

Usage πŸ—οΈ

FlutterTagger(
          controller: flutterTaggerController,
          onSearch: (query, triggerCharacter) {
              //perform search
          },
          //characters that can trigger a search and the styles
          //to be applied to their tagged results in the TextField
          triggerCharacterAndStyles: const {
            "@": TextStyle(color: Colors.pinkAccent),
            "#": TextStyle(color: Colors.blueAccent),
          },
          overlay: SearchResultView(),
          builder: (context, containerKey) {
              //return child TextField wrapped with a Container
              //and pass it `containerKey`
              return Container(
                key: containerKey,
                child: TextField(
                    controller: flutterTaggerController,
                    suffix: IconButton(
                      onPressed: () {
                        //get formatted text from controller
                        final text = flutterTaggerController.formattedText;

                        //perform send action...

                        FocusScope.of(context).unfocus();
                        flutterTaggerController.clear();
                      },
                    icon: const Icon(
                      Icons.send,
                      color: Colors.redAccent,
                    ),
                  ),
                ),
              );
          },
        )

Explore detailed example demo here.

Demo πŸ“·

Example demo

Contributions πŸ«±πŸΎβ€πŸ«²πŸΌ

Feel free to contribute to this project.

If you find a bug or want a feature, but don't know how to fix/implement it, please fill an issue.
If you fixed a bug or implemented a feature, please send a pull request.

About

A Flutter package that allows for the extension of TextFields to provide tagging capabilities (e.g @ user mentions and # hashtags).

License:MIT License


Languages

Language:Dart 61.3%Language:C++ 17.6%Language:CMake 15.0%Language:Ruby 2.2%Language:HTML 1.5%Language:C 1.2%Language:Swift 1.0%Language:Kotlin 0.1%Language:Objective-C 0.0%