A menu which can ... BOOM! - Android

Related tags

Menu animation boom menu
Overview

BoomMenu

Developer Demo Download Lisense

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.1'
<dependency>
  <groupId>com.nightonke</groupId>
  <artifactId>boommenu</artifactId>
  <version>2.1.1</version>
  <type>pom</type>
</dependency>

Demo

Or by link:

Boom V2.1.1 in Github

Boom V2.1.1 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 [email protected] / [email protected]. 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.

What I'm Doing

Comments
  • App Crashes on click

    App Crashes on click

    My app crashes whenever the boom menu bottom is clicked with ArrayIndexOutOfBoundsException. This only happens in the release version. The debug version works fine.

    Android Device version: 6.0

    The sample apks also crash on this device.

    opened by jamesthedove 18
  • How Do i set Icons/Text for Individual boom buttons

    How Do i set Icons/Text for Individual boom buttons

    I need help on how to set individual icons and text (for each boom button). please Help @Nightonke !

    After I Initialized the Text_Inside_Circle_Button i wrote the code below:

    `for (int i = 0; i<bmb.getPiecePlaceEnum().pieceNumber(); i++){
                TextInsideCircleButton.Builder builder = new
    TextInsideCircleButton.Builder().normalImageRes(R.drawable.ic_content_copy).normalText("Copy")
                        .listener(new OnBMClickListener() {
                            @Override
                            public void onBoomButtonClick(int index) {
                                Toast.makeText(getContext(), "Clicked: "+index, Toast.LENGTH_LONG).show();
                            }
                        });
    
                builder.imagePadding(new Rect(10,10,10,10));
                bmb.addBuilder(builder);`
    

    The Above Code only set one drawable image (and text) for all of the Boom Buttons.

    How do i customise that?

    opened by lekeope 17
  • Memory optimization needed

    Memory optimization needed

    Crashlytics reported that 13 crash happened because of out of memory issue.

    important stack trace part:

    at com.nightonke.boommenu.Util.setCircleButtonStateListDrawable(Util.java:69) at com.nightonke.boommenu.BoomMenuButton.setBoomButtonBackgroundColor(BoomMenuButton.java:1368) at com.nightonke.boommenu.BoomMenuButton.(BoomMenuButton.java)

    full stack trace:

    Fatal Exception: java.lang.RuntimeException Unable to start activity ComponentInfo{com.tabe3.news/com.tabe3.news.ui.activity.FeedDetailsActivity}: android.view.InflateException: Binary XML file line #259: Error inflating class raw

    Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.tabe3.news/com.tabe3.news.ui.activity.FeedDetailsActivity}: android.view.InflateException: Binary XML file line #259: Error inflating class at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2413) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2471) at android.app.ActivityThread.access$900(ActivityThread.java:175) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:146) at android.app.ActivityThread.main(ActivityThread.java:5602) at java.lang.reflect.Method.invokeNative(Method.java) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) at dalvik.system.NativeStart.main(NativeStart.java) Caused by android.view.InflateException: Binary XML file line #259: Error inflating class at android.view.LayoutInflater.createView(LayoutInflater.java:626) at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.createCustomViewInternal(CalligraphyLayoutInflater.java:211) at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.access$000(CalligraphyLayoutInflater.java:20) at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater$PrivateWrapperFactory2.onCreateView(CalligraphyLayoutInflater.java:302) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:695) at android.view.LayoutInflater.rInflate(LayoutInflater.java:761) at android.view.LayoutInflater.rInflate(LayoutInflater.java:769) at android.view.LayoutInflater.rInflate(LayoutInflater.java:769) at android.view.LayoutInflater.inflate(LayoutInflater.java:498) at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.inflate(CalligraphyLayoutInflater.java:60) at android.view.LayoutInflater.inflate(LayoutInflater.java:398) at android.view.LayoutInflater.inflate(LayoutInflater.java:354) at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:256) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109) at com.tabe3.news.ui.activity.FeedDetailsActivity.onCreate(FeedDetailsActivity.java:319) at android.app.Activity.performCreate(Activity.java:5451) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2377) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2471) at android.app.ActivityThread.access$900(ActivityThread.java:175) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:146) at android.app.ActivityThread.main(ActivityThread.java:5602) at java.lang.reflect.Method.invokeNative(Method.java) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) at dalvik.system.NativeStart.main(NativeStart.java) Caused by java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.constructNative(Constructor.java) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at android.view.LayoutInflater.createView(LayoutInflater.java:600) at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.createCustomViewInternal(CalligraphyLayoutInflater.java:211) at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.access$000(CalligraphyLayoutInflater.java:20) at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater$PrivateWrapperFactory2.onCreateView(CalligraphyLayoutInflater.java:302) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:695) at android.view.LayoutInflater.rInflate(LayoutInflater.java:761) at android.view.LayoutInflater.rInflate(LayoutInflater.java:769) at android.view.LayoutInflater.rInflate(LayoutInflater.java:769) at android.view.LayoutInflater.inflate(LayoutInflater.java:498) at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.inflate(CalligraphyLayoutInflater.java:60) at android.view.LayoutInflater.inflate(LayoutInflater.java:398) at android.view.LayoutInflater.inflate(LayoutInflater.java:354) at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:256) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109) at com.tabe3.news.ui.activity.FeedDetailsActivity.onCreate(FeedDetailsActivity.java:319) at android.app.Activity.performCreate(Activity.java:5451) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2377) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2471) at android.app.ActivityThread.access$900(ActivityThread.java:175) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:146) at android.app.ActivityThread.main(ActivityThread.java:5602) at java.lang.reflect.Method.invokeNative(Method.java) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) at dalvik.system.NativeStart.main(NativeStart.java) Caused by java.lang.OutOfMemoryError at android.graphics.Bitmap.nativeCreate(Bitmap.java) at android.graphics.Bitmap.createBitmap(Bitmap.java:928) at android.graphics.Bitmap.createBitmap(Bitmap.java:901) at android.graphics.Bitmap.createBitmap(Bitmap.java:868) at com.nightonke.boommenu.Util.setCircleButtonStateListDrawable(Util.java:69) at com.nightonke.boommenu.BoomMenuButton.setBoomButtonBackgroundColor(BoomMenuButton.java:1368) at com.nightonke.boommenu.BoomMenuButton.(BoomMenuButton.java) at java.lang.reflect.Constructor.constructNative(Constructor.java) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at android.view.LayoutInflater.createView(LayoutInflater.java:600) at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.createCustomViewInternal(CalligraphyLayoutInflater.java:211) at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.access$000(CalligraphyLayoutInflater.java:20) at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater$PrivateWrapperFactory2.onCreateView(CalligraphyLayoutInflater.java:302) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:695) at android.view.LayoutInflater.rInflate(LayoutInflater.java:761) at android.view.LayoutInflater.rInflate(LayoutInflater.java:769) at android.view.LayoutInflater.rInflate(LayoutInflater.java:769) at android.view.LayoutInflater.inflate(LayoutInflater.java:498) at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.inflate(CalligraphyLayoutInflater.java:60) at android.view.LayoutInflater.inflate(LayoutInflater.java:398) at android.view.LayoutInflater.inflate(LayoutInflater.java:354) at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:256) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109) at com.tabe3.news.ui.activity.FeedDetailsActivity.onCreate(FeedDetailsActivity.java:319) at android.app.Activity.performCreate(Activity.java:5451) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2377) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2471) at android.app.ActivityThread.access$900(ActivityThread.java:175) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:146) at android.app.ActivityThread.main(ActivityThread.java:5602) at java.lang.reflect.Method.invokeNative(Method.java) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) at dalvik.system.NativeStart.main(NativeStart.java)

    opened by hishambakr 15
  • There is posible to set others click event listeners like onLongClickListener on option item?

    There is posible to set others click event listeners like onLongClickListener on option item?

    Im working on an option in my bmb that allows the user to record a voice message like Whatsapp or Telegram, and i can't find the way to set listeners like onLongClickListener or onTouchListener on the bmb option item.

    I know that this is a so specific need, so i understand if is no possible.

    Great work with this project!

    enhancement 
    opened by dengue8830 12
  • NullPointerException occurred when I click the circleBoomMenuButton sometimes

    NullPointerException occurred when I click the circleBoomMenuButton sometimes

    Whether through the two-dimensional code that the zip contains to download the APK, or by my own sample that uses " compile 'com.nightonke:boommenu:1.0.8'" , the emergence of this issue. (无论是通过下载您的zip文档里的二维码安装的apk,还是我自己摘出的部分代码,使用了compile 'com.nightonke:boommenu:1.0.8'的方式,在多次点击circleBoomMenuButton时都出现了NullPointerException),错误信息如下 java.lang.NullPointerException at android.animation.PropertyValuesHolder.setupSetterAndGetter(PropertyValuesHolder.java:505) at android.animation.ObjectAnimator.initAnimation(ObjectAnimator.java:487) at android.animation.ValueAnimator.setCurrentPlayTime(ValueAnimator.java:517) at android.animation.ValueAnimator.start(ValueAnimator.java:936) at android.animation.ValueAnimator.start(ValueAnimator.java:946) at android.animation.ObjectAnimator.start(ObjectAnimator.java:465) at com.nightonke.boommenu.BoomMenuButton.setHideAnimation(BoomMenuButton.java:1115) at com.nightonke.boommenu.BoomMenuButton.startHideAnimations(BoomMenuButton.java:1022) at com.nightonke.boommenu.BoomMenuButton.access$300(BoomMenuButton.java:47) at com.nightonke.boommenu.BoomMenuButton$2.onClick(BoomMenuButton.java:482) at android.view.View.performClick(View.java:4632) at android.view.View$PerformClick.run(View.java:19385) at android.os.Handler.handleCallback(Handler.java:808) at android.os.Handler.dispatchMessage(Handler.java:103) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:5348) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:829) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645) at dalvik.system.NativeStart.main(Native Method)

    opened by qs73 12
  • how to set icon for the fab button itself

    how to set icon for the fab button itself

    Many thanks for great component. I am really exited about it but I have one issue:

    I will use this component as a share fab. but from user point of view, there is no indicator that the button in bottom right of screen is used to share content.

    I have a suggestion ti give an option to set drawable for the fab button itself.

    enhancement 
    opened by hishambakr 9
  • Reducing the size of menu items ui issue

    Reducing the size of menu items ui issue

    I have two menu items for my boom menu.

    I want to have the size of menu items same as the size of boom fab menu. so i added this to my code. ` for (int i = 0; i < bmb.getPiecePlaceEnum().pieceNumber(); i++) { TextOutsideCircleButton.Builder builder = new TextOutsideCircleButton.Builder() .normalImageRes(floatmenuImage.get(i)) .normalColor(ContextCompat.getColor(this,floatmenuColor.get(i))) .normalTextColor(ContextCompat.getColor(this,R.color.intro_slide_black)) .buttonRadius(Util.dp2px(30)) .normalText(floatmenu.get(i));

            bmb.addBuilder(builder);
        }`
    

    here buttonRadius(Util.dp2px(30))) reduces the size of menu item but the image inside it does not fit at the center device-2017-05-23-100917

    And i have given my menu items color as orange and green, so the fab menu dot takes the same two colors. But i want the fab menu dot colors to be white keeping my menu item colors orange and green. device-2017-05-23-100649

    Thanks

    opened by HasanShaikh 8
  • what could be causing this crash ?

    what could be causing this crash ?

    Hello Night! thanks for the great library!

    i'm receiving a crash on my playstore crash report which is:

    java.lang.RuntimeException: at com.nightonke.boommenu.ExceptionManager.judge(ExceptionManager.java:71) at com.nightonke.boommenu.ExceptionManager.judge(ExceptionManager.java:27) at com.nightonke.boommenu.BoomMenuButton.doLayoutJobs(BoomMenuButton.java:348) at com.nightonke.boommenu.BoomMenuButton.access$600(BoomMenuButton.java:55) at com.nightonke.boommenu.BoomMenuButton$8.run(BoomMenuButton.java:1016) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6682) at java.lang.reflect.Method.invoke(Native Method:0) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)

    i am wondering if its a problem with my implementation of the library or its a problem with the library it self, thank you!

    opened by ziadkiwan 6
  • Feature request: don't hide on background click

    Feature request: don't hide on background click

    I'm not sure, if it is need an explanation But I have an activity, which only has HamButtons and nothing else. I want to see animation of it appearing at start and that all. Click on buttons invokes certain activities or dialogs, but buttons must persist. I've set bmb.isAutoHide = false but click on background will leave user with beautiful but useless background image )=

    opened by rostopira 6
  • Sub Button Click Listener

    Sub Button Click Listener

    I am trying to implement BoomMenuButton.OnSubButtonClickListener in an activity. But its not able to find OnSubButtonClickListener. Using version 2.0.4

    opened by Aditya-Sh 6
  • BMB crashes - IllegalArgumentException: width and height must be > 0

    BMB crashes - IllegalArgumentException: width and height must be > 0

    app crashes immediately when go in to fragment , and shows this :

    ``FATAL EXCEPTION: main Process: com.example.all.newgcm, PID: 19053 java.lang.IllegalArgumentException: width and height must be > 0 at android.graphics.Bitmap.createBitmap(Bitmap.java:829) at android.graphics.Bitmap.createBitmap(Bitmap.java:808) at android.graphics.Bitmap.createBitmap(Bitmap.java:775) at com.nightonke.boommenu.BMBShadow.createShadowBitmap(BMBShadow.java:78) at com.nightonke.boommenu.BMBShadow.createShadow(BMBShadow.java:64) at com.nightonke.boommenu.BMBShadow.onLayout(BMBShadow.java:59) at android.view.View.layout(View.java:16694) at android.view.ViewGroup.layout(ViewGroup.java:5481) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336) at android.widget.FrameLayout.onLayout(FrameLayout.java:273) at com.nightonke.boommenu.BoomMenuButton.onLayout(BoomMenuButton.java:373) at android.view.View.layout(View.java:16694) at android.view.ViewGroup.layout(ViewGroup.java:5481) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586) at android.widget.LinearLayout.onLayout(LinearLayout.java:1495) at android.view.View.layout(View.java:16694) at android.view.ViewGroup.layout(ViewGroup.java:5481) at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1795) at android.view.View.layout(View.java:16694) at android.view.ViewGroup.layout(ViewGroup.java:5481) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586) at android.widget.LinearLayout.onLayout(LinearLayout.java:1495) at android.view.View.layout(View.java:16694) at android.view.ViewGroup.layout(ViewGroup.java:5481) at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1079) at android.view.View.layout(View.java:16694) at android.view.ViewGroup.layout(ViewGroup.java:5481) at android.support.design.widget.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:131) at android.support.design.widget.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:42) at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:1391) at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:870) at android.view.View.layout(View.java:16694) at android.view.ViewGroup.layout(ViewGroup.java:5481) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336) at android.widget.FrameLayout.onLayout(FrameLayout.java:273) at android.view.View.layout(View.java:16694) at android.view.ViewGroup.layout(ViewGroup.java:5481) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586) at android.widget.LinearLayout.onLayout(LinearLayout.java:1495) at android.view.View.layout(View.java:16694) at android.view.ViewGroup.layout(ViewGroup.java:5481) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336) at android.widget.FrameLayout.onLayout(FrameLayout.java:273) at android.view.View.layout(View.java:16694) at android.view.ViewGroup.layout(ViewGroup.java:5481) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586) at android.widget.LinearLayout.onLayout(LinearLayout.java:1495) at android.view.View.layout(View.java:16694) at android.view.ViewGroup.layout(ViewGroup.java:5481) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336) at android.widget.FrameLayout.onLayout(FrameLayout.java:273) at com.android.internal.policy.PhoneWindow$DecorView.onLayout(PhoneWindow.java:2697) at android.view.View.layout(View.java:16694) at android.view.ViewGroup.layout(ViewGroup.java:5481) at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2229) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1982) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1140) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6233) at a

    bug 
    opened by noam2 5
  • Did not succeed yet to run the Ham Menu

    Did not succeed yet to run the Ham Menu

    I'm a learner and I seek your help. I want to add this button into a project.

    I wrote the following code in my activity_main.xml

    <com.nightonke.boommenu.BoomMenuButton
            android:id="@+id/bmb"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:bmb_buttonEnum="ham"
            app:bmb_buttonPlaceEnum="buttonPlace_ham_4"
            app:bmb_piecePlaceEnum="piecePlace_ham_4"
            />
    

    I created a java file Nn.java

    package myappname.name;
    
    import android.os.Bundle;
    import android.view.View;
    
    import androidx.annotation.Nullable;
    import androidx.appcompat.app.AppCompatActivity;
    
    
    
    import com.nightonke.boommenu.BoomButtons.ButtonPlaceEnum;
    import com.nightonke.boommenu.BoomButtons.HamButton;
    import com.nightonke.boommenu.BoomMenuButton;
    import com.nightonke.boommenu.ButtonEnum;
    import com.nightonke.boommenu.Piece.PiecePlaceEnum;
    
    
    
    public class Nn extends AppCompatActivity {
    
    
        private BoomMenuButton bmb;
    
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            bmb = (BoomMenuButton) findViewById(R.id.bmb);
            bmb.setButtonEnum(ButtonEnum.Ham);
            bmb.setPiecePlaceEnum(PiecePlaceEnum.HAM_4);
            bmb.setButtonPlaceEnum(ButtonPlaceEnum.HAM_4);
            bmb.addBuilder(getHamButtonBuilder());
            bmb.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    for (int i = 0; i < bmb.getPiecePlaceEnum().pieceNumber(); i++) {
                        HamButton.Builder builder = new HamButton.Builder()
                                .normalImageRes(R.drawable.butterfly)
                                .normalTextRes("Butter Doesn't fly!")
                                .subNormalTextRes("Little butter Doesn't fly, either!");
                        bmb.addBuilder(builder);
                    }
                }
            });
    
    
    
        }
    
        ;
    
    
        static HamButton.Builder getHamButtonBuilder() {
            return new HamButton.Builder()
                    .normalImageRes(getImageResource())
                    .normalTextRes(R.string.text_ham_button_text_normal)
                    .subNormalTextRes(R.string.text_ham_button_sub_text_normal);
        }
    
        private static int[] imageResources = new int[]{
                R.drawable.bat,
                R.drawable.bear,
                R.drawable.bee,
                R.drawable.butterfly,
        };
    
        private static int imageResourceIndex = 0;
    
        static int getImageResource() {
            if (imageResourceIndex >= imageResources.length) imageResourceIndex = 0;
            return imageResources[imageResourceIndex++];
        }
    
    }
    

    Whenever I click the Menu button, I close the app. Would someone help me please. I one four buttons, to of them redirect to external links

    opened by Povonn 0
  • create BuildTest.yml

    create BuildTest.yml

    Gradle versions updated & now the project can be build with latest android studio Chipmunk | 2021.2.1

    Lests Build, Test & export the project Test Reports and export your APK directly using Github Actions

    opened by Micoder-dev 0
  • Change highlighted state of bmb to a drawble

    Change highlighted state of bmb to a drawble

    Hey, its possible to set a highlightedColor to a bmb itself. I also found that its possible to set a highlightedImageRes to bmb buttons. So, my question is, is it possible to set highlightedImageRes to bmb itself?

    opened by 48cm 0
  • Could not find com.nightonke:boommenu:2.1.1

    Could not find com.nightonke:boommenu:2.1.1

    Could not resolve all files for configuration ':app:debugRuntimeClasspath'. Could not find com.nightonke:boommenu:2.1.1. Searched in the following locations: - https://dl.google.com/dl/android/maven2/com/nightonke/boommenu/2.1.1/boommenu-2.1.1.pom - https://repo.maven.apache.org/maven2/com/nightonke/boommenu/2.1.1/boommenu-2.1.1.pom - https://raw.githubusercontent.com/Pgyer/mvn_repo_pgyer/master/com/nightonke/boommenu/2.1.1/boommenu-2.1.1.pom - https://jitpack.io/com/nightonke/boommenu/2.1.1/boommenu-2.1.1.pom Required by: project :app

    opened by prince70 2
Owner
Nightonke
Android & iOS Developer
Nightonke
Classic Power Menu is a Power Menu Replacement for Android 11+

Classic Power Menu is a Power Menu Replacement for Android 11+, with the main aim being restoring power menu options (Device Controls & Quick Access Wallet) on Android 12.

Kieron Quinn 385 Dec 31, 2022
🚀 A very customizable library that allows you to present menu items (from menu resource and/or other sources) to users as a bottom sheet.

SlidingUpMenu A library that allows you to present menu items (from menu resource and/or other sources) to users as a bottom sheet. Gradle Dependency

Rasheed Sulayman 26 Jul 17, 2022
A multicard menu that can open and close with animation on android

MultiCardMenu A multicard menu that can open and close with animation on android,require API level >= 11 Demo ##Usage <net.wujingchao.android.view.

null 562 Nov 10, 2022
An Android Library that allows users to pull down a menu and select different actions. It can be implemented inside ScrollView, GridView, ListView.

AndroidPullMenu AndroidPullMenu is an Open Source Android library that allows developers to easily create applications with pull menu. The aim of this

Armando TBA 181 Nov 29, 2022
You can easily add awesome animated context menu to your app.

ContextMenu You can easily add awesome animated context menu to your app. Check this project on dribbble Check this project on Behance Usage: For a wo

Yalantis 3.8k Dec 28, 2022
An android custom view which looks like the menu in Path 2.0 (for iOS).

ArcMenu & RayMenu ArcMenu An android custom view which looks like the menu in Path 2.0 (for iOS). RayMenu About The user experience in Path 2.0 (for i

daCapricorn 1.3k Nov 29, 2022
** A slide-out menu implementation, which allows users to navigate between views in your app.

MenuDrawer A slide-out menu implementation, which allows users to navigate between views in your app. Most commonly the menu is revealed by either dra

Simon Vig Therkildsen 2.6k Dec 8, 2022
Android-NewPopupMenu 3.9 0.0 Java is an android library to create popup menu with GoogleMusic app-like style.

Android-NewPopupMenu Android-NewPopupMenu is an android library to create popup menu with GoogleMusic app-like style. Requirements Tested with APIv4 H

u1aryz 159 Nov 21, 2022
an animated circular menu for Android

CircularFloatingActionMenu An animated, customizable circular floating menu for Android, inspired by Path app. Getting Started Requirements API >= 15

Oğuz Bilgener 2.7k Dec 24, 2022
Android Satellite Menu

#Satellite Menu 'Path' has a very attractive menu sitting on the left bottom corner of the screen. Satellite Menu is the open version of this menu. Fo

Siyamed SINIR 1.4k Nov 15, 2022
(UNMAINTAINED) An implemention of Filter Menu concept for android

FilterMenu This is a library project with a custom view that implements concept of Filter Menu(https://dribbble.com/shots/1956586-Filter-Menu) made by

Lin Zhang 824 Nov 28, 2022
Navigation menu for Android (based off Google+ app)

RibbonMenu Navigation menu for Android (based on Google+ app). Usage Menus are created in xml as normal, adding text and an icon. In the layout you wa

David Scott 487 Nov 24, 2022
Simple and easy to use circular menu widget for Android.

Deprecated This project is no longer maintained. No new issues or pull requests will be accepted. You can still use the source or fork the project to

Anup Cowkur 420 Nov 25, 2022
Implementation of "Side Navigation" or "Fly-in app menu" pattern for Android (based on Google+ app)

Android SideNavigation Library Implementation of "Side Navigation" or "Fly-in app menu" pattern for Android (based on Google+ app). Description The Go

Evgeny Shishkin 319 Nov 25, 2022
Android Overlay Menu

Overlay Menu Android Overlay Menu Demo: Installation: Add this dependency to your gradle script: compile 'it.sephiroth.android.library.overlaymenu:ove

Alessandro Crugnola 122 Nov 10, 2022
A floating menu library for Android.

Hover Hover is a floating menu implementation for Android. Goals The goals of Hover are to: Provide an easy-to-use, out-of-the-box floating menu imple

Google 2.7k Dec 27, 2022
A powerful & customizable menu implementation for android.

A powerful & customizable menu implementation for android. It supports any level of nested menu structures along with custom header and footer views, and much more. Follow the steps below to import the library to your project. You will also find some sample codes.

Nowrose Muhammad Ragib 5 Nov 8, 2022
Side menu with some categories to choose.

Side Menu Side menu with some categories to choose. Check this project on dribbble. Check this project on Behance. God bless Ukraine! Sample Sample &

Yalantis 5.2k Dec 23, 2022