字
字节笔记本
2026年2月19日
flutter_emoji:Flutter Emoji 处理插件
API中转
¥120
本文介绍 flutter_emoji,一个轻量级的 Flutter Emoji 处理插件,支持 Unicode 13.0+ 的所有表情符号。
flutter_emoji 简介
flutter_emoji 是由 petehouston.com 开发的 Flutter 插件,提供完整的 Emoji 处理能力。它支持 Unicode 13.0+ 的所有表情符号,在 Pub.dev 上拥有稳定的版本更新。
核心定位:A light-weight Emoji package for Flutter with all up-to-date emojis, made with love and just enjoy!
基本信息
- Pub.dev:https://pub.dev/packages/flutter_emoji
- 版本:2.5.1
- 发布者:petehouston.com(已验证)
- 许可证:MIT
- 平台支持:Android、iOS、Linux、macOS、Web、Windows
核心功能
- 通过名称或代码获取 Emoji
- 文本与 Emoji 相互转换(
:heart:↔❤️) - 统计文本中 Emoji 数量和频率
- 替换特定 Emoji
- 解析提取文本中的所有 Emoji
安装方法
在 pubspec.yaml 中添加:
yaml
dependencies:
flutter_emoji: ^2.5.1然后执行:
bash
flutter pub get使用示例
基础用法
dart
import 'package:flutter_emoji/flutter_emoji.dart';
var parser = EmojiParser();
var coffee = Emoji('coffee', '☕');
// 获取 Emoji 信息
print(parser.info('heart'));
// 输出: {name: heart, full: :heart:, code: ❤️}
// 文本转 Emoji
print(parser.emojify('I :heart: :coffee:'));
// 输出: I ❤️ ☕
// Emoji 转文本
print(parser.unemojify('I ❤️ ☕'));
// 输出: I :heart: :coffee:统计与替换
dart
// 统计 Emoji 数量
parser.count('I ❤️ Flutter just like ☕');
// 输出: 2
// 替换 Emoji
parser.replace('I ❤️ coffee', '❤️', '❤️🔥');
// 输出: I ❤️🔥 coffee数据初始化
dart
// 本地数据(默认)
var parser = EmojiParser();
// 或
parser.initLocalData();
// 服务器数据(需网络权限)
await parser.initServerData();完整示例
dart
import 'package:flutter/material.dart';
import 'package:flutter_emoji/flutter_emoji.dart';
class EmojiDemo extends StatefulWidget {
@override
_EmojiDemoState createState() => _EmojiDemoState();
}
class _EmojiDemoState extends State<EmojiDemo> {
final parser = EmojiParser();
String input = 'I :heart: Flutter :rocket:';
String output = '';
@override
void initState() {
super.initState();
convertEmoji();
}
void convertEmoji() {
setState(() {
output = parser.emojify(input);
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Flutter Emoji')),
body: Padding(
padding: EdgeInsets.all(16),
child: Column(
children: [
TextField(
controller: TextEditingController(text: input),
onChanged: (value) {
input = value;
convertEmoji();
},
decoration: InputDecoration(
labelText: '输入文本',
hintText: '使用 :emoji_name: 格式',
),
),
SizedBox(height: 20),
Text('转换结果:', style: TextStyle(fontWeight: FontWeight.bold)),
SizedBox(height: 10),
Text(output, style: TextStyle(fontSize: 24)),
],
),
),
);
}
}依赖包
characters: ^1.2.0http: >=0.13.0 <2.0.0
适用场景
- 聊天应用表情输入
- 社交媒体内容处理
- 文本编辑器表情支持
- 用户昵称表情显示
总结
flutter_emoji 是一个轻量级但功能完整的 Emoji 处理插件:
- 全面支持:Unicode 13.0+ 所有表情
- 双向转换:文本与 Emoji 互转
- 跨平台:支持所有 Flutter 平台
- 易于使用:API 简洁直观
对于需要 Emoji 功能的 Flutter 应用来说,这是一个可靠的选择。
分享: