Floating notification

The floating notification informs the user that an action has been taken. It can optionally include an icon and/or call-to-action (CTA) which may allow the user to view or undo the action.

Floating Notification

Maven Central Class reference Source code

Default

Day Night
FloatingNotification component FloatingNotification component - dark mode

Installation

Backpack Compose is available through Maven Central. Check the main Readme for a complete installation guide.

Usage

Example of a Floating Notification:


                                                
                                                import androidx.compose.runtime.rememberCoroutineScope
                                                import androidx.compose.foundation.layout.Box
                                                import kotlinx.coroutines.launch
                                                import net.skyscanner.backpack.compose.button.BpkButton
                                                import net.skyscanner.backpack.compose.floatingnotification.BpkFloatingNotification
                                                import net.skyscanner.backpack.compose.floatingnotification.rememberBpkFloatingNotificationState
                                                
                                                val scope = rememberCoroutineScope()
                                                val state = rememberBpkFloatingNotificationState()
                                                
                                                Box {
                                                
                                                    BpkButton(text = "Show notification") {
                                                        scope.launch {
                                                            state.show(
                                                                text = "Saved"
                                                            )
                                                        }
                                                    }
                                                
                                                    BpkFloatingNotification(state = state)
                                                
                                                }

Example of a Floating Notification with icon and action:


                                                
                                                import androidx.compose.runtime.rememberCoroutineScope
                                                import androidx.compose.foundation.layout.Box
                                                import kotlinx.coroutines.launch
                                                import net.skyscanner.backpack.compose.button.BpkButton
                                                import net.skyscanner.backpack.compose.floatingnotification.BpkFloatingNotification
                                                import net.skyscanner.backpack.compose.floatingnotification.rememberBpkFloatingNotificationState
                                                
                                                val scope = rememberCoroutineScope()
                                                val state = rememberBpkFloatingNotificationState()
                                                
                                                Box {
                                                
                                                  BpkButton(text = "Show notification") {
                                                    scope.launch {
                                                      state.show(
                                                        text = "Saved",
                                                        icon = BpkIcon.Heart,
                                                        cta = "View",
                                                        onClick = { println("action performed") },
                                                        onExit = { println("notification dismissed") },
                                                      )
                                                    }
                                                  }
                                                
                                                  BpkFloatingNotification(state = state)
                                                
                                                }