Repository files navigation

BoomMenu

DeveloperDemoDownloadLisense

2.0.0 Comes Finally

Approximately 8 months ago, I got an inspiration to creating something that can boom and show menu, which I named it Boom-Menu-Button, BMB. But at that time, I just a fresh-man in Android, knowing little about designing. The codes I wrote serveral months ago are ugly and performed low-efficient.

Between months, I always think about BMB and try to write a better design pattern for implements of BMB. My first try is BMB-iOS, which contains more family characteristics, for instance, buttons-alignment, text-inside/outside-button.

And now the BMB-Android 2.0.0 comes.

Gradle & Maven

compile 'com.nightonke:boommenu:2.1.0'
<dependency>
<groupId>com.nightonke</groupId>
<artifactId>boommenu</artifactId>
<version>2.1.0</version>
<type>pom</type>
</dependency>

Demo

Or by link:

Boom V2.1.0 in Github

Boom V2.1.0 in Fir

Wiki

Check the wiki to use BMB.

Documentation Chapters

  1. Basic Usage
    How to use BMB in just several lines of code?
  2. Simple Circle Button
    Add simple circle buttons with just an image for each to BMB.
  3. Text Inside Circle Button
    Add text inside circle buttons with a text and image inside for each to BMB.
  4. Text Outside Circle Button
    Add text outside circle buttons with a text and image outside for each to BMB.
  5. Ham Button
    Add ham buttons with with a title, subtitle and image inside for each to BMB.
  6. Share Style
    Make a share-style BMB.
  7. Custom Position
    Customize the number and positions of pieces and boom-buttons.
  8. Button Place Alignments
    Place all the buttons to anywhere on screen.
  9. Different Ways to Boom
    Different animations when the buttons boom or re-boom.
  10. Ease Animations for Buttons
    Use different and cute ease-animations for buttons.
  11. Different Order for Buttons
    Different order enum for boom-buttons.
  12. Other Animations Attributes for Buttons
    Delay, duration, rotate-degrees, frames...
  13. Click Event and Listener
    Listener for clicking each button or animation-states.
  14. Control BMB
    Boom or re-boom BMB programmatically.
  15. Use BMB in Action Bar
    How to put BMB in action bar?
  16. Use BMB in Tool Bar
    How to put BMB in tool bar?
  17. Use BMB in List
    Matters need attention when you need a BMB in list-view or recycler-view.
  18. Use BMB in Fragment
    Example for use BMB in fragment.
  19. Attributes for BMB or Pieces on BMB
    How to change the size or margins of dots on BMB?
  20. Cache Optimization & Boom Area
    What if I want BMB to boom in just its parent-view?
  21. Change Boom Buttons Dynamically
    Change Boom Buttons Dynamically.
  22. Fade Views
    Add faded views on BMB.
  23. Version History
    What's more for every version?
  24. Structure for BMB
    Structure for BMB when I designed it, for sharing and communicating.

Issues & Feedbacks

Try to tell me the bugs or enhancements about BMB, or contact me with Nightonke@outlook.com / 2584541288@qq.com. Before doing that, having a careful read on readme, wiki and issues is really helpful.

ReadMe for Version 1.0.9 or Below

If you still wanna use version 1.0.9 or below, you can find the README below:

English README中文文档

But I strongly suggest you to use the newest version.

About

A menu which can ... BOOM! - Android

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

BoomMenu

DeveloperDemoDownloadLisense

2.0.0 Comes Finally

Approximately 8 months ago, I got an inspiration to creating something that can boom and show menu, which I named it Boom-Menu-Button, BMB. But at that time, I just a fresh-man in Android, knowing little about designing. The codes I wrote serveral months ago are ugly and performed low-efficient.

Between months, I always think about BMB and try to write a better design pattern for implements of BMB. My first try is BMB-iOS, which contains more family characteristics, for instance, buttons-alignment, text-inside/outside-button.

And now the BMB-Android 2.0.0 comes.

Gradle & Maven

compile 'com.nightonke:boommenu:2.1.0'
<dependency>
<groupId>com.nightonke</groupId>
<artifactId>boommenu</artifactId>
<version>2.1.0</version>
<type>pom</type>
</dependency>

Demo

Or by link:

Boom V2.1.0 in Github

Boom V2.1.0 in Fir

Wiki

Check the wiki to use BMB.

Documentation Chapters

  1. Basic Usage
    How to use BMB in just several lines of code?
  2. Simple Circle Button
    Add simple circle buttons with just an image for each to BMB.
  3. Text Inside Circle Button
    Add text inside circle buttons with a text and image inside for each to BMB.
  4. Text Outside Circle Button
    Add text outside circle buttons with a text and image outside for each to BMB.
  5. Ham Button
    Add ham buttons with with a title, subtitle and image inside for each to BMB.
  6. Share Style
    Make a share-style BMB.
  7. Custom Position
    Customize the number and positions of pieces and boom-buttons.
  8. Button Place Alignments
    Place all the buttons to anywhere on screen.
  9. Different Ways to Boom
    Different animations when the buttons boom or re-boom.
  10. Ease Animations for Buttons
    Use different and cute ease-animations for buttons.
  11. Different Order for Buttons
    Different order enum for boom-buttons.
  12. Other Animations Attributes for Buttons
    Delay, duration, rotate-degrees, frames...
  13. Click Event and Listener
    Listener for clicking each button or animation-states.
  14. Control BMB
    Boom or re-boom BMB programmatically.
  15. Use BMB in Action Bar
    How to put BMB in action bar?
  16. Use BMB in Tool Bar
    How to put BMB in tool bar?
  17. Use BMB in List
    Matters need attention when you need a BMB in list-view or recycler-view.
  18. Use BMB in Fragment
    Example for use BMB in fragment.
  19. Attributes for BMB or Pieces on BMB
    How to change the size or margins of dots on BMB?
  20. Cache Optimization & Boom Area
    What if I want BMB to boom in just its parent-view?
  21. Change Boom Buttons Dynamically
    Change Boom Buttons Dynamically.
  22. Fade Views
    Add faded views on BMB.
  23. Version History
    What's more for every version?
  24. Structure for BMB
    Structure for BMB when I designed it, for sharing and communicating.

Issues & Feedbacks

Try to tell me the bugs or enhancements about BMB, or contact me with Nightonke@outlook.com / 2584541288@qq.com. Before doing that, having a careful read on readme, wiki and issues is really helpful.

ReadMe for Version 1.0.9 or Below

If you still wanna use version 1.0.9 or below, you can find the README below:

English README中文文档

But I strongly suggest you to use the newest version.

About

A menu which can ... BOOM! - Android

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

BoomMenu

DeveloperDemoDownloadLisense

2.0.0 Comes Finally

Approximately 8 months ago, I got an inspiration to creating something that can boom and show menu, which I named it Boom-Menu-Button, BMB. But at that time, I just a fresh-man in Android, knowing little about designing. The codes I wrote serveral months ago are ugly and performed low-efficient.

Between months, I always think about BMB and try to write a better design pattern for implements of BMB. My first try is BMB-iOS, which contains more family characteristics, for instance, buttons-alignment, text-inside/outside-button.

And now the BMB-Android 2.0.0 comes.

Gradle & Maven

compile 'com.nightonke:boommenu:2.1.0'
<dependency>
<groupId>com.nightonke</groupId>
<artifactId>boommenu</artifactId>
<version>2.1.0</version>
<type>pom</type>
</dependency>

Demo

Or by link:

Boom V2.1.0 in Github

Boom V2.1.0 in Fir

Wiki

Check the wiki to use BMB.

Documentation Chapters

  1. Basic Usage
    How to use BMB in just several lines of code?
  2. Simple Circle Button
    Add simple circle buttons with just an image for each to BMB.
  3. Text Inside Circle Button
    Add text inside circle buttons with a text and image inside for each to BMB.
  4. Text Outside Circle Button
    Add text outside circle buttons with a text and image outside for each to BMB.
  5. Ham Button
    Add ham buttons with with a title, subtitle and image inside for each to BMB.
  6. Share Style
    Make a share-style BMB.
  7. Custom Position
    Customize the number and positions of pieces and boom-buttons.
  8. Button Place Alignments
    Place all the buttons to anywhere on screen.
  9. Different Ways to Boom
    Different animations when the buttons boom or re-boom.
  10. Ease Animations for Buttons
    Use different and cute ease-animations for buttons.
  11. Different Order for Buttons
    Different order enum for boom-buttons.
  12. Other Animations Attributes for Buttons
    Delay, duration, rotate-degrees, frames...
  13. Click Event and Listener
    Listener for clicking each button or animation-states.
  14. Control BMB
    Boom or re-boom BMB programmatically.
  15. Use BMB in Action Bar
    How to put BMB in action bar?
  16. Use BMB in Tool Bar
    How to put BMB in tool bar?
  17. Use BMB in List
    Matters need attention when you need a BMB in list-view or recycler-view.
  18. Use BMB in Fragment
    Example for use BMB in fragment.
  19. Attributes for BMB or Pieces on BMB
    How to change the size or margins of dots on BMB?
  20. Cache Optimization & Boom Area
    What if I want BMB to boom in just its parent-view?
  21. Change Boom Buttons Dynamically
    Change Boom Buttons Dynamically.
  22. Fade Views
    Add faded views on BMB.
  23. Version History
    What's more for every version?
  24. Structure for BMB
    Structure for BMB when I designed it, for sharing and communicating.

Issues & Feedbacks

Try to tell me the bugs or enhancements about BMB, or contact me with Nightonke@outlook.com / 2584541288@qq.com. Before doing that, having a careful read on readme, wiki and issues is really helpful.

ReadMe for Version 1.0.9 or Below

If you still wanna use version 1.0.9 or below, you can find the README below:

English README中文文档

But I strongly suggest you to use the newest version.

About

A menu which can ... BOOM! - Android

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

BoomMenu

DeveloperDemoDownloadLisense

2.0.0 Comes Finally

Approximately 8 months ago, I got an inspiration to creating something that can boom and show menu, which I named it Boom-Menu-Button, BMB. But at that time, I just a fresh-man in Android, knowing little about designing. The codes I wrote serveral months ago are ugly and performed low-efficient.

Between months, I always think about BMB and try to write a better design pattern for implements of BMB. My first try is BMB-iOS, which contains more family characteristics, for instance, buttons-alignment, text-inside/outside-button.

And now the BMB-Android 2.0.0 comes.

Gradle & Maven

compile 'com.nightonke:boommenu:2.1.0'
<dependency>
<groupId>com.nightonke</groupId>
<artifactId>boommenu</artifactId>
<version>2.1.0</version>
<type>pom</type>
</dependency>

Demo

Or by link:

Boom V2.1.0 in Github

Boom V2.1.0 in Fir

Wiki

Check the wiki to use BMB.

Documentation Chapters

  1. Basic Usage
    How to use BMB in just several lines of code?
  2. Simple Circle Button
    Add simple circle buttons with just an image for each to BMB.
  3. Text Inside Circle Button
    Add text inside circle buttons with a text and image inside for each to BMB.
  4. Text Outside Circle Button
    Add text outside circle buttons with a text and image outside for each to BMB.
  5. Ham Button
    Add ham buttons with with a title, subtitle and image inside for each to BMB.
  6. Share Style
    Make a share-style BMB.
  7. Custom Position
    Customize the number and positions of pieces and boom-buttons.
  8. Button Place Alignments
    Place all the buttons to anywhere on screen.
  9. Different Ways to Boom
    Different animations when the buttons boom or re-boom.
  10. Ease Animations for Buttons
    Use different and cute ease-animations for buttons.
  11. Different Order for Buttons
    Different order enum for boom-buttons.
  12. Other Animations Attributes for Buttons
    Delay, duration, rotate-degrees, frames...
  13. Click Event and Listener
    Listener for clicking each button or animation-states.
  14. Control BMB
    Boom or re-boom BMB programmatically.
  15. Use BMB in Action Bar
    How to put BMB in action bar?
  16. Use BMB in Tool Bar
    How to put BMB in tool bar?
  17. Use BMB in List
    Matters need attention when you need a BMB in list-view or recycler-view.
  18. Use BMB in Fragment
    Example for use BMB in fragment.
  19. Attributes for BMB or Pieces on BMB
    How to change the size or margins of dots on BMB?
  20. Cache Optimization & Boom Area
    What if I want BMB to boom in just its parent-view?
  21. Change Boom Buttons Dynamically
    Change Boom Buttons Dynamically.
  22. Fade Views
    Add faded views on BMB.
  23. Version History
    What's more for every version?
  24. Structure for BMB
    Structure for BMB when I designed it, for sharing and communicating.

Issues & Feedbacks

Try to tell me the bugs or enhancements about BMB, or contact me with Nightonke@outlook.com / 2584541288@qq.com. Before doing that, having a careful read on readme, wiki and issues is really helpful.

ReadMe for Version 1.0.9 or Below

If you still wanna use version 1.0.9 or below, you can find the README below:

English README中文文档

But I strongly suggest you to use the newest version.

About

A menu which can ... BOOM! - Android

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

BoomMenu

DeveloperDemoDownloadLisense

2.0.0 Comes Finally

Approximately 8 months ago, I got an inspiration to creating something that can boom and show menu, which I named it Boom-Menu-Button, BMB. But at that time, I just a fresh-man in Android, knowing little about designing. The codes I wrote serveral months ago are ugly and performed low-efficient.

Between months, I always think about BMB and try to write a better design pattern for implements of BMB. My first try is BMB-iOS, which contains more family characteristics, for instance, buttons-alignment, text-inside/outside-button.

And now the BMB-Android 2.0.0 comes.

Gradle & Maven

compile 'com.nightonke:boommenu:2.1.0'
<dependency>
<groupId>com.nightonke</groupId>
<artifactId>boommenu</artifactId>
<version>2.1.0</version>
<type>pom</type>
</dependency>

Demo

Or by link:

Boom V2.1.0 in Github

Boom V2.1.0 in Fir

Wiki

Check the wiki to use BMB.

Documentation Chapters

  1. Basic Usage
    How to use BMB in just several lines of code?
  2. Simple Circle Button
    Add simple circle buttons with just an image for each to BMB.
  3. Text Inside Circle Button
    Add text inside circle buttons with a text and image inside for each to BMB.
  4. Text Outside Circle Button
    Add text outside circle buttons with a text and image outside for each to BMB.
  5. Ham Button
    Add ham buttons with with a title, subtitle and image inside for each to BMB.
  6. Share Style
    Make a share-style BMB.
  7. Custom Position
    Customize the number and positions of pieces and boom-buttons.
  8. Button Place Alignments
    Place all the buttons to anywhere on screen.
  9. Different Ways to Boom
    Different animations when the buttons boom or re-boom.
  10. Ease Animations for Buttons
    Use different and cute ease-animations for buttons.
  11. Different Order for Buttons
    Different order enum for boom-buttons.
  12. Other Animations Attributes for Buttons
    Delay, duration, rotate-degrees, frames...
  13. Click Event and Listener
    Listener for clicking each button or animation-states.
  14. Control BMB
    Boom or re-boom BMB programmatically.
  15. Use BMB in Action Bar
    How to put BMB in action bar?
  16. Use BMB in Tool Bar
    How to put BMB in tool bar?
  17. Use BMB in List
    Matters need attention when you need a BMB in list-view or recycler-view.
  18. Use BMB in Fragment
    Example for use BMB in fragment.
  19. Attributes for BMB or Pieces on BMB
    How to change the size or margins of dots on BMB?
  20. Cache Optimization & Boom Area
    What if I want BMB to boom in just its parent-view?
  21. Change Boom Buttons Dynamically
    Change Boom Buttons Dynamically.
  22. Fade Views
    Add faded views on BMB.
  23. Version History
    What's more for every version?
  24. Structure for BMB
    Structure for BMB when I designed it, for sharing and communicating.

Issues & Feedbacks

Try to tell me the bugs or enhancements about BMB, or contact me with Nightonke@outlook.com / 2584541288@qq.com. Before doing that, having a careful read on readme, wiki and issues is really helpful.

ReadMe for Version 1.0.9 or Below

If you still wanna use version 1.0.9 or below, you can find the README below:

English README中文文档

But I strongly suggest you to use the newest version.

About

A menu which can ... BOOM! - Android

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

BoomMenu

DeveloperDemoDownloadLisense

2.0.0 Comes Finally

Approximately 8 months ago, I got an inspiration to creating something that can boom and show menu, which I named it Boom-Menu-Button, BMB. But at that time, I just a fresh-man in Android, knowing little about designing. The codes I wrote serveral months ago are ugly and performed low-efficient.

Between months, I always think about BMB and try to write a better design pattern for implements of BMB. My first try is BMB-iOS, which contains more family characteristics, for instance, buttons-alignment, text-inside/outside-button.

And now the BMB-Android 2.0.0 comes.

Gradle & Maven

compile 'com.nightonke:boommenu:2.1.0'
<dependency>
<groupId>com.nightonke</groupId>
<artifactId>boommenu</artifactId>
<version>2.1.0</version>
<type>pom</type>
</dependency>

Demo

Or by link:

Boom V2.1.0 in Github

Boom V2.1.0 in Fir

Wiki

Check the wiki to use BMB.

Documentation Chapters

  1. Basic Usage
    How to use BMB in just several lines of code?
  2. Simple Circle Button
    Add simple circle buttons with just an image for each to BMB.
  3. Text Inside Circle Button
    Add text inside circle buttons with a text and image inside for each to BMB.
  4. Text Outside Circle Button
    Add text outside circle buttons with a text and image outside for each to BMB.
  5. Ham Button
    Add ham buttons with with a title, subtitle and image inside for each to BMB.
  6. Share Style
    Make a share-style BMB.
  7. Custom Position
    Customize the number and positions of pieces and boom-buttons.
  8. Button Place Alignments
    Place all the buttons to anywhere on screen.
  9. Different Ways to Boom
    Different animations when the buttons boom or re-boom.
  10. Ease Animations for Buttons
    Use different and cute ease-animations for buttons.
  11. Different Order for Buttons
    Different order enum for boom-buttons.
  12. Other Animations Attributes for Buttons
    Delay, duration, rotate-degrees, frames...
  13. Click Event and Listener
    Listener for clicking each button or animation-states.
  14. Control BMB
    Boom or re-boom BMB programmatically.
  15. Use BMB in Action Bar
    How to put BMB in action bar?
  16. Use BMB in Tool Bar
    How to put BMB in tool bar?
  17. Use BMB in List
    Matters need attention when you need a BMB in list-view or recycler-view.
  18. Use BMB in Fragment
    Example for use BMB in fragment.
  19. Attributes for BMB or Pieces on BMB
    How to change the size or margins of dots on BMB?
  20. Cache Optimization & Boom Area
    What if I want BMB to boom in just its parent-view?
  21. Change Boom Buttons Dynamically
    Change Boom Buttons Dynamically.
  22. Fade Views
    Add faded views on BMB.
  23. Version History
    What's more for every version?
  24. Structure for BMB
    Structure for BMB when I designed it, for sharing and communicating.

Issues & Feedbacks

Try to tell me the bugs or enhancements about BMB, or contact me with Nightonke@outlook.com / 2584541288@qq.com. Before doing that, having a careful read on readme, wiki and issues is really helpful.

ReadMe for Version 1.0.9 or Below

If you still wanna use version 1.0.9 or below, you can find the README below:

English README中文文档

But I strongly suggest you to use the newest version.

About

A menu which can ... BOOM! - Android

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

BoomMenu

DeveloperDemoDownloadLisense

2.0.0 Comes Finally

Approximately 8 months ago, I got an inspiration to creating something that can boom and show menu, which I named it Boom-Menu-Button, BMB. But at that time, I just a fresh-man in Android, knowing little about designing. The codes I wrote serveral months ago are ugly and performed low-efficient.

Between months, I always think about BMB and try to write a better design pattern for implements of BMB. My first try is BMB-iOS, which contains more family characteristics, for instance, buttons-alignment, text-inside/outside-button.

And now the BMB-Android 2.0.0 comes.

Gradle & Maven

compile 'com.nightonke:boommenu:2.1.0'
<dependency>
<groupId>com.nightonke</groupId>
<artifactId>boommenu</artifactId>
<version>2.1.0</version>
<type>pom</type>
</dependency>

Demo

Or by link:

Boom V2.1.0 in Github

Boom V2.1.0 in Fir

Wiki

Check the wiki to use BMB.

Documentation Chapters

  1. Basic Usage
    How to use BMB in just several lines of code?
  2. Simple Circle Button
    Add simple circle buttons with just an image for each to BMB.
  3. Text Inside Circle Button
    Add text inside circle buttons with a text and image inside for each to BMB.
  4. Text Outside Circle Button
    Add text outside circle buttons with a text and image outside for each to BMB.
  5. Ham Button
    Add ham buttons with with a title, subtitle and image inside for each to BMB.
  6. Share Style
    Make a share-style BMB.
  7. Custom Position
    Customize the number and positions of pieces and boom-buttons.
  8. Button Place Alignments
    Place all the buttons to anywhere on screen.
  9. Different Ways to Boom
    Different animations when the buttons boom or re-boom.
  10. Ease Animations for Buttons
    Use different and cute ease-animations for buttons.
  11. Different Order for Buttons
    Different order enum for boom-buttons.
  12. Other Animations Attributes for Buttons
    Delay, duration, rotate-degrees, frames...
  13. Click Event and Listener
    Listener for clicking each button or animation-states.
  14. Control BMB
    Boom or re-boom BMB programmatically.
  15. Use BMB in Action Bar
    How to put BMB in action bar?
  16. Use BMB in Tool Bar
    How to put BMB in tool bar?
  17. Use BMB in List
    Matters need attention when you need a BMB in list-view or recycler-view.
  18. Use BMB in Fragment
    Example for use BMB in fragment.
  19. Attributes for BMB or Pieces on BMB
    How to change the size or margins of dots on BMB?
  20. Cache Optimization & Boom Area
    What if I want BMB to boom in just its parent-view?
  21. Change Boom Buttons Dynamically
    Change Boom Buttons Dynamically.
  22. Fade Views
    Add faded views on BMB.
  23. Version History
    What's more for every version?
  24. Structure for BMB
    Structure for BMB when I designed it, for sharing and communicating.

Issues & Feedbacks

Try to tell me the bugs or enhancements about BMB, or contact me with Nightonke@outlook.com / 2584541288@qq.com. Before doing that, having a careful read on readme, wiki and issues is really helpful.

ReadMe for Version 1.0.9 or Below

If you still wanna use version 1.0.9 or below, you can find the README below:

English README中文文档

But I strongly suggest you to use the newest version.

About

A menu which can ... BOOM! - Android

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

BoomMenu

DeveloperDemoDownloadLisense

2.0.0 Comes Finally

Approximately 8 months ago, I got an inspiration to creating something that can boom and show menu, which I named it Boom-Menu-Button, BMB. But at that time, I just a fresh-man in Android, knowing little about designing. The codes I wrote serveral months ago are ugly and performed low-efficient.

Between months, I always think about BMB and try to write a better design pattern for implements of BMB. My first try is BMB-iOS, which contains more family characteristics, for instance, buttons-alignment, text-inside/outside-button.

And now the BMB-Android 2.0.0 comes.

Gradle & Maven

compile 'com.nightonke:boommenu:2.1.0'
<dependency>
<groupId>com.nightonke</groupId>
<artifactId>boommenu</artifactId>
<version>2.1.0</version>
<type>pom</type>
</dependency>

Demo

Or by link:

Boom V2.1.0 in Github

Boom V2.1.0 in Fir

Wiki

Check the wiki to use BMB.

Documentation Chapters

  1. Basic Usage
    How to use BMB in just several lines of code?
  2. Simple Circle Button
    Add simple circle buttons with just an image for each to BMB.
  3. Text Inside Circle Button
    Add text inside circle buttons with a text and image inside for each to BMB.
  4. Text Outside Circle Button
    Add text outside circle buttons with a text and image outside for each to BMB.
  5. Ham Button
    Add ham buttons with with a title, subtitle and image inside for each to BMB.
  6. Share Style
    Make a share-style BMB.
  7. Custom Position
    Customize the number and positions of pieces and boom-buttons.
  8. Button Place Alignments
    Place all the buttons to anywhere on screen.
  9. Different Ways to Boom
    Different animations when the buttons boom or re-boom.
  10. Ease Animations for Buttons
    Use different and cute ease-animations for buttons.
  11. Different Order for Buttons
    Different order enum for boom-buttons.
  12. Other Animations Attributes for Buttons
    Delay, duration, rotate-degrees, frames...
  13. Click Event and Listener
    Listener for clicking each button or animation-states.
  14. Control BMB
    Boom or re-boom BMB programmatically.
  15. Use BMB in Action Bar
    How to put BMB in action bar?
  16. Use BMB in Tool Bar
    How to put BMB in tool bar?
  17. Use BMB in List
    Matters need attention when you need a BMB in list-view or recycler-view.
  18. Use BMB in Fragment
    Example for use BMB in fragment.
  19. Attributes for BMB or Pieces on BMB
    How to change the size or margins of dots on BMB?
  20. Cache Optimization & Boom Area
    What if I want BMB to boom in just its parent-view?
  21. Change Boom Buttons Dynamically
    Change Boom Buttons Dynamically.
  22. Fade Views
    Add faded views on BMB.
  23. Version History
    What's more for every version?
  24. Structure for BMB
    Structure for BMB when I designed it, for sharing and communicating.

Issues & Feedbacks

Try to tell me the bugs or enhancements about BMB, or contact me with Nightonke@outlook.com / 2584541288@qq.com. Before doing that, having a careful read on readme, wiki and issues is really helpful.

ReadMe for Version 1.0.9 or Below

If you still wanna use version 1.0.9 or below, you can find the README below:

English README中文文档

But I strongly suggest you to use the newest version.

About

A menu which can ... BOOM! - Android

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages