Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ahyangnb/flutter_emoji_selector_plus
https://github.com/ahyangnb/flutter_emoji_selector_plus
Last synced: 29 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/ahyangnb/flutter_emoji_selector_plus
- Owner: ahyangnb
- License: mit
- Created: 2024-04-30T02:49:19.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-07-30T03:28:49.000Z (5 months ago)
- Last Synced: 2024-10-16T14:13:08.371Z (3 months ago)
- Language: Dart
- Size: 415 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Flutter Emoji Selector Plus
Flutter Emoji Selector Plus Selector is an emoji picker component for Flutter.
A new library composed by modifying emoji_selector.
Optimized the performance of sliding page flip.
![Screenshot of emoji Selector](https://github.com/ahyangnb/flutter_emoji_selector_plus/blob/main/images/flutter_emoji_selector_plus.png)
## Getting Started
Declare dependency in your `pubspec.yaml`
```yaml
dependencies:
flutter_emoji_selector_plus: ^0.0.7
```You can then easily embed the Emoji Selector Widget anywhere in your application:
```dart
EmojiSelector(
onSelected: (emoji) {
print('Selected emoji ${emoji.char}');
},
),
```You will receive a callback with an `EmojiData` object represented the emoji picked by the user.
```dart
class EmojiData {
final String id;
final String name;
final String unified;
final String char;
final String category;
final int skin;
}
```When the emoji is qualified with a skin tone, both `unified` and `char` contains the qualifed values.
The `skin` parameter goes from 0 to 6, 0 representing no skin tone applied. 1 is then the lighter skin tone and 6 the darkest.
## How to use as a keyboard
You can use a modal sheet to simulate a keyboard.
```dart
return showModalBottomSheet(
context: context,
builder: (BuildContext subcontext) {
return SizedBox(
height: 256,
child: EmojiSelector(
onSelected: (emoji) {
Navigator.of(subcontext).pop(emoji);
},
),
);
},
);
```