English | 中文
Sticker Share: Manage and share animated stickers to various messaging platforms.
Currently only tested on Android, the specific situation for Android is as follows:
| App | Status | Notes |
|---|---|---|
| Tested | Send to preview cannot load | |
| Tested | Fully supported | |
| Discord | Tested | Fully supported |
| X | Tested | Fully supported |
| Messenger | Tested | Fully supported |
| Telegram | Tested | Automatically converts to image |
| Untested | To be tested | |
| LINE | Untested | To be tested |
lib/
├── models/ # Data models
│ ├── sticker_model.dart
│ └── sticker_pack_model.dart
├── providers/ # State management
│ └── sticker_provider.dart
├── screens/ # UI screens
│ ├── home_screen.dart
│ └── splash_screen.dart
├── services/ # Business logic
│ ├── database_service.dart
│ └── messaging_share_service.dart
└── main.dart # App entry point
- State Management: Provider pattern
- Local Storage: SQLite (sqflite)
- Animations: Lottie
- Image Processing: GIF conversion for sharing
- Platform Integration: Method channels for native messaging apps
- Flutter SDK: >= 3.9.2
- Dart SDK: >= 3.9.2
- Android Studio / VS Code with Flutter extensions
- Clone the repository:
git clone https://github.com/yourusername/sticker_share.git
cd sticker_share- Install dependencies:
flutter pub get- Run the application:
flutter runflutter build apk --releaseflutter build ios --releaseflutter build windows --release- Browse Packs: Horizontal scrollable pack selector at the top
- Switch Packs: Swipe left/right on the main grid to navigate
- Mark Favorites: Long-press a pack name to toggle favorite status
- Filter Favorites: Tap the heart icon to show only favorite packs
- Tap a Sticker: Opens the share dialog
- Select App: Choose from installed messaging apps
- Share: Sticker is converted to GIF and shared
For detailed information about the UI/UX optimizations implemented in this project, see the Performance Documentation.
Key highlights:
- Background Lottie preloading
- Smart animation pause/resume during scrolling
- Prioritized pack loading
- Gesture-based navigation
- Memory-efficient rendering
- Clicking on a sticker shows only half of the bottom listTile to hint at scrolling
- Create a new folder in
assets/stickers/[PackName]/ - Add Lottie JSON files to
[PackName]/lottie/ - Add GIF files to
[PackName]/gif/(same names as Lottie files) - The app will automatically scan and load new packs on next launch
sticker_packs
- id (TEXT): Unique pack identifier
- name (TEXT): Display name
- isFavorite (INTEGER): Favorite status (0/1)
stickers
- id (TEXT): Unique sticker identifier
- name (TEXT): Display name
- localPath (TEXT): Lottie JSON asset path
- gifPath (TEXT): GIF asset path
- packId (TEXT): Foreign key to sticker_packs
- Local import of Stickers
- Cloud backup and download
- Multi-language support
- Add sticker preview feature (long press to view)
- Optimize operation logic and UI/UX for better Sticker management
- iOS support
- Support sticker editing
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.


