flutter_emoji_selector library
A Flutter package for creating Facebook-style emoji selector reactions.
This package provides a customizable emoji selector that can be attached to any widget, displaying a row of emoji reactions with smooth animations.
Features
- Support for PNG, SVG, and GIF images
- Customizable styling (colors, sizes, animations)
- Long press to show, drag to select, release to confirm
- Zoom and bounce animations on hover
- Horizontal scrolling for many emojis
- Programmatic control via controller
Example
// Using default bundled emojis
EmojiSelector(
emojis: DefaultEmojis.all,
onEmojiSelected: (emoji) => print('Selected: ${emoji.id}'),
child: IconButton(
icon: Icon(Icons.thumb_up_outlined),
onPressed: () {},
),
)
// Or use custom emojis
EmojiSelector(
emojis: [
EmojiItem.asset('like', 'assets/emojis/like.png'),
EmojiItem.asset('love', 'assets/emojis/love.gif'),
],
onEmojiSelected: (emoji) => print('Selected: ${emoji.id}'),
child: MyButton(),
)
Classes
- DefaultEmojis
- Default emoji presets bundled with the package.
- EmojiItem
- Represents a single emoji with its image source and metadata.
- EmojiSelector
- A widget that wraps a child and displays an emoji selector overlay.
- EmojiSelectorController
- Controller for programmatically managing the emoji selector.
- EmojiSelectorStyle
- Comprehensive style configuration for the emoji selector.
Enums
- EmojiImageSource
- Source type for emoji images.
- EmojiImageType
- Detected image type based on file extension or content.
- EmojiSelectorTrigger
- How to trigger the emoji selector.
- OverlayPosition
- Preferred position for the emoji selector overlay.