Search packages, repositories and app categories

GitHub repositoryoaktreeapps/stacked_notification_cards

stacked_notification_cards

A Flutter implementation of iOS style stacked notifications.

stacked_notification_cards project cover
Stars
23
Forks
21
Last push (UTC)
Dec 9, 2024
Project status
Active

Original README

English project snapshot. Visit GitHub for the latest content.

stacked_notification_cards

A Flutter implementation of iOS style stacked notifications.

Features

  • Given notifications can be stacked one upon the other (iOS style)
  • Notifications can be expanded with fan animation.
  • Individual notification card can slide either left or right
  • Individual cards or the entire stack of cards can be dismissed via slide action.
  • It's possible to use multiple StackedNotificationCards within a Column.

Make sure to wrap StackedNotificationCards in SingleChildScrollView if using within a Column.

Install

In the pubspec.yaml of your flutter project, add the following dependency:

dependencies:
  stacked_notification_cards: <latest_version>

Add then following import:

import 'package:stacked_notification_cards/stacked_notification_cards.dart';

Getting Started

Example:

            StackedNotificationCards(
              shadow: [
                BoxShadow(
                  color: Colors.black.withOpacity(0.25),
                  blurRadius: 2.0,
                )
              ],
              type: 'Message',
              notifications: [..._listOfNotification],
              cardColor: Color(0xFFF1F1F1),
              padding: 16,
              headerTitle: Text(
                'Notifications',
                style: TextStyle(
                  fontSize: 24,
                  fontWeight: FontWeight.bold,
                ),
              ),
              headerShowLess: Text(
                'Show less',
                style: TextStyle(
                  fontSize: 18,
                  fontWeight: FontWeight.bold,
                  color: Colors.deepPurple,
                ),
              ),
              onTapClearAll: () {
                setState(() {
                  _listOfNotification.clear();
                });
              },
              headerClearAllButton: Icon(Icons.close),
              clearAllStacked: Text('Clear All'),
              clear: Text('clear'),
              view: Text('view'),
              onTapClearCallback: (index) {
                print(index);
                setState(() {
                  _listOfNotification.removeAt(index);
                });
              },
              onTapViewCallback: (index) {
                print(index);
              },
            ),

Demo

Contributions

Feel free to contribute to this project.

  • If you find a bug or want have a new feature request, please file an issue.
  • If you fixed a bug or implemented a feature, please send a pull request.
OakTree Apps LLC GitHub avatar
GitHub author

OakTree Apps LLC ↗

AI/ML/Flutter/Snowflake

United States of AmericaOfficial website ↗
LanguagesDartHTMLSwiftKotlinObjective-C

Categories

Dependencies used

Dependency list 4 items

How do I choose a repository?

Start with your use case, compare repository activity, and check the original project before adopting it.

  1. Search by repository name, owner or description, then narrow the results by topic.
  2. Compare stars, forks and recent pushes. Stars show community interest, not a guarantee of quality.
  3. Read the README, license and issues on GitHub before using a project.

Sources and maintenance

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗