explaingit

nightonke/boommenu

5,786JavaAudience · developerComplexity · 2/5LicenseSetup · easy

TLDR

An Android library that adds a floating button which animates open into a set of action buttons when tapped, with configurable styles, animations, and placement options.

Mindmap

mindmap
  root((BoomMenu))
    What it does
      Animated float button
      Fan out actions
      Collapse on tap
    Button Styles
      Circle with icon
      Circle with text
      Ham rectangular button
      Share row layout
    Configuration
      Animation paths
      Timing and delay
      Placement on screen
    Audience
      Android developers
      UI builders
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Add an expandable floating action menu to an Android app without writing animation code.

USE CASE 2

Replace a toolbar with an animated radial button menu that shows icons with labels.

USE CASE 3

Create a social share panel that fans out action buttons from a single tap target.

Tech stack

JavaAndroidGradle

Getting it running

Difficulty · easy Time to first run · 5min

Add one Gradle dependency line and set an adapter, no extra configuration needed.

Use freely for any purpose including commercial apps as long as you keep the Apache 2.0 copyright notice.

In plain English

BoomMenu is an Android library that adds an animated floating button to mobile apps. When a user taps the button, it "booms" open: a set of action buttons fly out with configurable animations, landing on screen in a pattern the developer controls. Tapping the button again causes the menu to collapse back. The visual result is an expandable menu where each action button emerges from the main button in a physically animated way. The library offers several button styles to choose from. Simple circle buttons display just an icon. Text-inside-circle buttons add a label inside the circle. Text-outside-circle buttons place the label below the icon. Ham buttons are rectangular and show a title, subtitle, and image together. There is also a share-style layout that arranges buttons in a row, similar to a social sharing panel. Developers can configure where the menu buttons land on screen, what animation path they follow when expanding (parabola curves and other patterns are available), the order in which buttons appear, and timing details like delay and duration. Click listeners let the app respond when a specific button is tapped or when the menu finishes animating. It is also possible to trigger the open and close actions from code, without a user tap. BoomMenu can be placed in an action bar, a toolbar, a list view, or a fragment. The README links to a wiki covering each feature in a dedicated chapter. Installation is through Gradle by adding a single dependency line to a project's build file. The library is released under the Apache 2.0 license.

Copy-paste prompts

Prompt 1
Using the nightonke/boommenu library, add a floating boom menu to my Android activity with 4 buttons for Share, Save, Edit, and Delete, each with an icon and label.
Prompt 2
Show me how to configure BoomMenu to use parabola animation paths and a 300ms delay between each button appearing.
Prompt 3
How do I listen for when a specific BoomMenu button is tapped and navigate to a different screen in response?
Prompt 4
Set up BoomMenu inside a RecyclerView list item so each row has its own expandable action menu.
Open on GitHub → Explain another repo

← nightonke on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.