FLUTTER ECOSYSTEM

Alfaizkhan/flutter-emoji-selector

一个 Flutter 表情符号选择器。

flutter-emoji-selector 项目封面
Stars
5
Forks
12
最近推送(UTC)
2025年3月23日
项目状态
未归档
Alfaizkhan Pathan GitHub avatar
GITHUB User

Alfaizkhan Pathan ↗

Lead Flutter Developer📱 | Tech Geek💻

HorizonixVadodara, Gujarat, India官方网站 ↗
语言DartSwiftKotlinObjective-C

技术话题

使用的依赖

依赖清单 2 项
  • flutter{"sdk":"flutter"}
  • flutter_test开发依赖{"sdk":"flutter"}

原始 README

以下为英文项目原文快照,最新内容请访问 GitHub。

展开 / 收起项目 README

Buy Me A Coffee

Emoji Selector

Emoji Selector is an emoji picker component for Flutter.

Screenshot of emoji Selector

Getting Started

Declare dependency in your pubspec.yaml

dependencies:
    emoji_selector: ^0.0.6

[Optional] If you need support for Plattfroms that don't have the Apple Color Emoji font installed (e.g. Linux, Web, ...), download Noto Emoji Font from https://github.com/googlefonts/noto-emoji) and add it to your pubspec.yaml:

flutter:
  fonts:
    - family: Noto Emoji
      fonts:
        - asset: fonts/NotoEmoji/NotoEmoji.ttf

You can then easily embed the Emoji Selector Widget anywhere in your application:

EmojiSelector(
    onSelected: (emoji) {
        print('Selected emoji ${emoji.char}');
    },
),

You will receive a callback with an EmojiData object represented the emoji picked by the user.

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.

return showModalBottomSheet(
    context: context,
    builder: (BuildContext subcontext) {
        return SizedBox(
        height: 256,
        child: EmojiSelector(
            onSelected: (emoji) {
            Navigator.of(subcontext).pop(emoji);
            },
        ),
        );
    },
);