emoji_picker_flutter 1.0.3 icon indicating copy to clipboard operation
emoji_picker_flutter: ^1.0.3 copied to clipboard

A Flutter package that provides an Emoji picker widget with 1500+ emojis in 8 categories.

platform flutter build Star on Github License: BSD-2-Clause

emoji_picker_flutter #

Yet another Emoji Picker for Flutter 🤩

Note: This package is based on emoji_picker which has been deprecated and not maintained anymore. Therefore I decided to create a modernized version of it and fixing existing issues.

Key features #

  • Lightweight Package
  • Faster Loading
  • Null-safety
  • Completely customizable
  • Material Design and Cupertino mode
  • Emojis that cannot be displayed are filtered out (Android Only)
  • Optional recently used emoji tab

Getting Started #

EmojiPicker(
    onEmojiSelected: (category, emoji) {
        // Do something when emoji is tapped
    },
    config: Config(
        columns: 7,
        emojiSizeMax: 32.0,
        verticalSpacing: 0,
        horizontalSpacing: 0,
        initCategory: Category.RECENT,
        bgColor: Color(0xFFF2F2F2),
        indicatorColor: Colors.blue,
        iconColor: Colors.grey,
        iconColorSelected: Colors.blue,
        progressIndicatorColor: Colors.blue,
        showRecentsTab: true,
        recentsLimit: 28,
        noRecentsText: "No Recents",
        noRecentsStyle:
            const TextStyle(fontSize: 20, color: Colors.black26),
        categoryIcons: const CategoryIcons(),
        buttonMode: ButtonMode.MATERIAL
    ),
)

See the demo for more detailed sample project.

Config #

propertydescriptiondefault
columnsNumber of emojis per row7
emojiSizeMaxWidth and height the emoji will be maximal displayed32.0
verticalSpacingVerical spacing between emojisToastGravity.BOTTOM
horizontalSpacingHorizontal spacing between emojis0
initCategoryThe initial Category that will be selectedCategory.RECENT
bgColorThe background color of the WidgetColor(0xFFF2F2F2)
indicatorColorThe color of the category indicatorColors.blue
iconColorThe color of the category iconsColors.grey
iconColorSelectedThe color of the category icon when selectedColors.blue
progressIndicatorColorThe color of the loading indicator during initalizationColors.blue
showRecentsTabShow extra tab with recently used emojitrue
recentsLimitLimit of recently used emoji that will be saved28
noRecentsTextThe text to be displayed if no recent emojis to display"No Recents"
noRecentsStyleThe text style for [noRecentsText]TextStyle(fontSize: 20, color: Colors.black26)
categoryIconsDetermines the icon to display for each Category. You can change icons by setting them in the constructor.CategoryIcons()
buttonModeChoose between Material and Cupertino button styleButtonMode.MATERIAL

Custom view #

The appearance is completely customizable by setting customWidget property. If properties in Config are not enough you can inherit from EmojiPickerBuilder (recommended but not necessary) to make further adjustments.

class CustomView extends EmojiPickerBuilder {
    CustomView(Config config, EmojiViewState state) : super(config, state);

    @override
    _CustomViewState createState() => _CustomViewState();
}

class _CustomViewState extends State<CustomView> {
    @override
    Widget build(BuildContext context) {
        // TODO: implement build
        // Access widget.config and widget.state
        return Container();
    }
}

EmojiPicker(
    onEmojiSelected: (category, emoji) { /* ...*/ },
    config: Config( /* ...*/ ),
    customWidget: (config, state) => CustomView(config, state),
)

Feel free to contribute to this package!! 🙇‍♂️ #

Always happy if anyone wants to help to improve this package !

If you need any features #

Please open an issue so that we can discuss your feature request 🙏


182
likes
110
pub points
97%
popularity

Publisher

verified publisher iconfintasys.com

A Flutter package that provides an Emoji picker widget with 1500+ emojis in 8 categories.

Repository (GitHub)
View/report issues

Documentation

API reference

License

Icon for licenses.BSD-2-Clause (LICENSE)

Dependencies

flutter, shared_preferences

More

Packages that depend on emoji_picker_flutter