sticker_keyboard 0.1.0 copy "sticker_keyboard: ^0.1.0" to clipboard
sticker_keyboard: ^0.1.0 copied to clipboard

Sticker Keyboard for Flutter apps with simple setup, category tabs, and built‑in search/recents.

Sticker Keyboard #

Focused sticker keyboard for Flutter apps. Provide sticker assets (local or network) and render a lightweight picker UI with recents, search, and category tabs.

Key features #

  • 📑 Category-based sticker organization with tabs
  • 🔄 Automatic recently-used sticker management
  • 🔍 Built-in search functionality
  • 🌐 Support for local assets and remote URLs
  • 🎨 Fully customizable appearance and layout
  • 🧩 Custom tab actions and custom pages

Installation #

Add to your pubspec.yaml:

dependencies:
  sticker_keyboard: <version>

Import:

import 'package:sticker_keyboard/sticker_keyboard.dart';

Sticker setup #

  • Create an assets/stickers/ folder in your app.
  • Add subfolders per category (folder name becomes tab label).
  • Supported files: .png, .gif, .webp, .jpg, .jpeg.
  • Register the folders in your app pubspec.yaml.

Example:

flutter:
  assets:
    - assets/stickers/mood/
    - assets/stickers/memes/

Usage #

StickerKeyboard(
  onStickerSelected: (Sticker sticker) {
    // Handle sticker selection
  },
  keyboardConfig: KeyboardConfig(
    stickerColumns: 5,
    stickerHorizontalSpacing: 6,
    stickerVerticalSpacing: 6,
    showRecentsTab: true,
    showSearchButton: true,
    stickers: [
      CategorySticker(
        category: 'Mood',
        stickers: [
          Sticker(assetUrl: 'assets/stickers/mood/sticker_1.webp', category: 'Mood'),
        ],
      ),
    ],
    categoryTabBuilder: (context, category, isSelected) {
      if (category.category == 'Recents') {
        return Icon(
          Icons.access_time,
          color: isSelected ? Colors.blue : Colors.grey,
        );
      }

      return Row(
        mainAxisSize: MainAxisSize.min,
        children: [
          const Icon(Icons.folder_open, size: 16),
          const SizedBox(width: 6),
          Text(
            category.category,
            style: TextStyle(
              fontWeight: FontWeight.w600,
              color: isSelected ? Colors.blue : Colors.grey,
            ),
          ),
        ],
      );
    },
    customTabs: [
      CustomKeyboardTab(
        id: 'action',
        tabBuilder: (context, isSelected) => Icon(
          Icons.bolt,
          color: isSelected ? Colors.blue : Colors.grey,
        ),
        onTap: () {
          // Action-only tab
        },
      ),
      CustomKeyboardTab(
        id: 'custom-page',
        tabBuilder: (context, isSelected) => const Icon(Icons.star),
        pageBuilder: (context) => Center(
          child: Text('Custom page'),
        ),
      ),
    ],
    customTabPlacement: CustomTabPlacement.afterRecents,
  ),
)

When pageBuilder is null, the tab behaves like an action button and keeps the current page.

See example/lib/main.dart for a full demo.

Documentation #

API docs are published on pub.dev: https://pub.dev/documentation/sticker_keyboard/latest/

property description default
stickerColumns Stickers per row 4
stickerVerticalSpacing Vertical spacing 5
stickerHorizontalSpacing Horizontal spacing 5
showRecentsTab Show recents tab true
recentsLimit Max recents stored 28
replaceRecentOnLimitExceed Replace newest when full false
showSearchButton Show search button true
showBottomNav Show bottom nav true
withSafeArea Wrap with SafeArea true
bgColor Background color Color(0xFFEBEFF2)
categoryTabBuilder Optional builder to customize category tabs null
customTabs Optional custom tabs with actions or pages []
customTabPlacement Placement of custom tabs CustomTabPlacement.afterCategories

Extended usage #

final recentStickers = await StickerKeyboardUtils().getRecentStickers();
final results = await StickerKeyboardUtils().searchSticker(
  searchQuery: 'funny',
  context: context,
);

Issues #

Please file bugs and feature requests in the issue tracker: https://github.com/blossomdiary/sticker_keyboard/issues

0
likes
150
points
0
downloads

Publisher

verified publisherblossomdiary.com

Weekly Downloads

Sticker Keyboard for Flutter apps with simple setup, category tabs, and built‑in search/recents.

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

cached_network_image, flutter, shared_preferences

More

Packages that depend on sticker_keyboard