Orientação gerada a partir de informações públicas. Apenas para referência.
Um pacote leve do Flutter que fornece acesso aos emojis mais recentes, projetado para integração fácil em aplicativos. Suporta todas as principais plataformas, incluindo Android, iOS, Web, macOS, Windows e Linux. O pacote é atualizado regularmente para incluir novos emojis e foi construído com simplicidade e desempenho em mente. Ideal para aprimorar interfaces de usuário com conteúdo expressivo e atualizado de emojis sem adicionar peso.
Casos de uso
Adicionando emojis aos widgets de texto
Criando interfaces de bate-papo ou mensagens
Melhorando a interface com ícones expressivos
Apoiar conteúdo do estilo de mídia social
Exibindo reações com emojis
Principais recursos
Conjunto de emojis atualizado
Suporte multiplataforma
Tamanho leve
API fácil de usar
Atualizações regulares
Indicado para
Exibição simples de emoji
Aplicativos de bate-papo
conteúdo gerado pelo usuário
Recursos sociais
Aplicativos voltados para públicos globais
Considerações
Pode exigir atualização manual para emojis raros ou recém-lançados
Personalização limitada além da renderização básica
Nenhum seletor de emojis embutido
Depende de fonte externa para dados de emoji
Não otimizado para layouts grandes com muitos emojis
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
flutter_emoji
👉 A light-weight Emoji 📦 for Flutter and Dart-based applications with all up-to-date emojis 😄. Made from 💯% ☕ with ❤️!
Update: since v2.3.4+, support all emojis listed in Unicode 13.0.
NOTE: I initially created this package to support my Flutter apps. However, Dart is growing to support on more platforms, so starting from v2.4.0+, this package will be available to all types of Dart-based applications.
Work in progress
I'm working on the new version of the package, it might or might not introduce breaking changes but I will try to maintain the compatibility in the API.
Here are few upcoming update to the v3:
Support Unicode 15.1+ emojis.
Skin tone
Group (category) of the emojis
Emoji version
Few new methods for handling/manipulating emojis.
Installation
Add this into pubspec.yaml
dependencies:flutter_emoji:">= 2.0.0"
API Usage
First, import the package:
import'package:flutter_emoji/flutter_emoji.dart';
There are two main classes you need to know to handle Emoji text: Emoji and EmojiParser.
Basically, you need to initialize an instance of EmojiParser and call its methods.
var parser = EmojiParser();
var coffee = Emoji('coffee', '☕');
var heart = Emoji('heart', '❤️');
// Get emoji infovar emojiHeart = parser.info('heart');
print(emojiHeart); '{name: heart, full: :heart:, code: ❤️}'// Check emoji equality
heart == emojiHeart; // returns: true
heart == emojiCoffee; // returns: false// Get emoji by name or code
parser.get('coffee'); // returns: Emoji{name="coffee", full=":coffee:", code="☕"}
parser.get(':coffee:'); // returns: Emoji{name="coffee", full=":coffee:", code="☕"}
parser.hasName('coffee'); // returns: true
parser.getName('coffee'); // returns: Emoji{name="coffee", full=":coffee:", code="☕"}
parser.hasEmoji('❤️'); // returns: true
parser.getEmoji('❤️'); // returns: Emoji{name="heart", full=":heart:", code="❤️"}
parser.emojify('I :heart: :coffee:'); // returns: 'I ❤️ ☕'
parser.unemojify('I ❤️ ☕'); // returns: 'I :heart: :coffee:'// Count number of present emojis
parser.count('I ❤️ Flutter just like ☕'); // returns: 2// Count frequency of a specific emoji
parser.frequency('I ❤️ Flutter just like ☕', '❤️'); // returns: 1// Replace a specific emoji by another emoji
parser.replace('I ❤️ coffee', '❤️', '❤️🔥'); // returns: 'I ❤️🔥 coffee'// Get a list of all emojis from the input
parser.parseEmojis('I ❤️ Flutter just like ☕'); // returns: ['❤️', '☕']
All methods will return Emoji.None if emoji is not found, except these two emojify() and unemojify() that will return original input.
There are two available datasets available you can choose to initialize for EmojiParser: local and server.
// to load local datasetvar localParser1 = EmojiParser();
var localParser2 = EmojiParser(init: false);
localParser2.initLocalData();
// to load server dataset// this will trigger an URL request to download latest emoji datavar serverParser = EmojiParser(init: false);
await serverParser.initServerData(); // make sure to wrap in an `async` function/method.
NOTE: make sure to add Internet permission on Android.
<!-- Required to fetch data from the internet. --><uses-permissionandroid:name="android.permission.INTERNET" />
In any occasion that local dataset doesn't have the latest emojis, load server dataset instead. If it is still not working, please create an issue or pull request to the repo.
TODO
Features coming to this package:
[x] Get detail of an emoji.
[x] Refactor for easier usage.
[x] Validate bad input.
[x] Find list of available emojis from a given text.
[x] Replace emoji by another one.
[x] Callback for additional formatting found emojis.