Floating Action Button for Android based on Material Design specification

Overview

FloatingActionButton

Yet another library for drawing Material Design promoted actions.

Features

  • Support for normal 56dp and mini 40dp buttons.

    Demo

  • Customizable background colors for normal and pressed states and icon drawable.

    Demo

  • Convenience AddFloatingActionButton class with plus icon drawn in code.

  • FloatingActionsMenu which can be expanded/collapsed to reveal multiple actions.

    Demo

  • Optional labels for buttons in FloatingActionsMenu.

    Demo

Usage

Just add the dependency to your build.gradle:

dependencies {
    compile 'com.getbase:floatingactionbutton:1.10.1'
}

To see how the buttons are added to your xml layouts, check the sample project.

Caveats

The API is extremely limited at the moment. It solves few select use cases in the app I'm working on.

Unlike some other FloatingActionButton libraries this library doesn't implement "quick return" pattern, i.e. hiding the button on scrolling down and showing it on scrolling up. That's intentional, I think that should be responsibility of another component, not the button itself.

This library is minSdkVersion=14 and if that changes, the version number will be increased, not decreased. It means that Honeycomb, Gingerbread or - gods forbid - Froyo, won't ever be supported. I won't even consider merging pull requests fully implementing support for older versions. We need to move on as Android community and focus on delivering value for 95% of users of modern Android OS instead of jumping through burning hoops to support ancient devices with ancient OS.

If you really require support for older Android versions, str4d maintains a version of this library with minSdkVersion=4.

Credits

I used FloatingActionButton library by Oleksandr Melnykov as a base for development.

Copyright and license

Copyright 2014 Zendesk

Licensed under the Apache License, Version 2.0

Issues
  • Is there a way to add labels to FloatingActionsMenu?

    Is there a way to add labels to FloatingActionsMenu?

    Is there a way to add labels to nested FABs such as in the Evernote app?

    screenshot 2014-11-03 16 39 06

    opened by loeschg 32
  • Make labels clickable

    Make labels clickable

    After showing my app to an handful of tester, I realized that most of them wanted to click on the label itself instead of the FloatingActionButton attached to it.

    It would be nice to handle it with the FloatingActionButton click/touch listener.

    help wanted 
    opened by lynfogeek 13
  • Icons not centered in FAB?

    Icons not centered in FAB?

    ic_alert_octagon_white_48dp ic_alert_octagon_black_48dp

    image

    Not all icons seem to center correctly.

    invalid 
    opened by r2DoesInc 12
  • Floating Action Button cannot be sized.

    Floating Action Button cannot be sized.

    Even i change wrap_content attirubute with dp, size of button is still same.

    invalid 
    opened by emreaktrk 12
  • Added opportunity to set a custom icon on the menu button.

    Added opportunity to set a custom icon on the menu button.

    I changed the menu class, so that you can set a own icon for the menu button. If the menu is expanded the icon transforms into a 'x' to indicate the close action. Maybe this helps you with this issue: https://github.com/futuresimple/android-floating-action-button/issues/56

    I also added the icon function to one of the menus in the sample. Feel free to give me any feedback about this.

    opened by Poeschl 12
  • Nested FAB's in FAM won't show titles

    Nested FAB's in FAM won't show titles

    Hello,

    i try to put labels/titles beside my FAB's which are placed in a FAM just like in Google Inbox. Do I have a mistake in my xml or is this a bug? My labels won't show up.

    Thank you for this awesome library!

    <com.getbase.floatingactionbutton.FloatingActionsMenu
        android:id="@+id/party_menu"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_marginRight="24dp"
        android:layout_marginEnd="24dp"
        android:layout_marginBottom="24dp"
        app:fab_addButtonPlusIconColor="@android:color/white"
        app:fab_addButtonColorNormal="@color/accent"
        app:fab_addButtonColorPressed="@color/accent_light"
        app:fab_addButtonSize="normal">
    
        <com.getbase.floatingactionbutton.FloatingActionButton
            android:id="@+id/party_stopper"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:fab_icon="@drawable/ic_action_done"
            app:fab_title="Stop the party"
            app:fab_size="mini"/>
    
        <com.getbase.floatingactionbutton.FloatingActionButton
            android:id="@+id/party_round_adder"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:fab_icon="@drawable/ic_action_add"
            app:fab_title="Next go round!"
            app:fab_size="mini"/>
    
    </com.getbase.floatingactionbutton.FloatingActionsMenu>
    
    opened by logineimer 11
  • Background shadow animation

    Background shadow animation

    I'm using FloatingActionsMenu.OnFloatingActionsMenuUpdateListener(), but the problem i'm facing is, when i use this Listener it spoils the nice flow of animation in the floating buttons, any workaround to make the animation fluid....

    opened by devishankar 11
  • Label not visible even after setting by fab_title

    Label not visible even after setting by fab_title

    <com.getbase.floatingactionbutton.FloatingActionsMenu
        android:id="@+id/action_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|right"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginLeft="16dp"
        android:layout_marginStart="16dp"
        fab:fab_addButtonColorNormal="@color/brand_blue"
        fab:fab_addButtonColorPressed="@color/white"
        fab:fab_addButtonPlusIconColor="@color/white"
        fab:fab_labelsPosition="left">
    
        <com.getbase.floatingactionbutton.FloatingActionButton
            android:id="@+id/send_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            fab:fab_colorNormal="@color/brand_blue"
            fab:fab_title="Action A"
            fab:fab_colorPressed="@color/white"/>
    
        <com.getbase.floatingactionbutton.FloatingActionButton
            android:id="@+id/redeem_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            fab:fab_colorNormal="@color/brand_blue"
            fab:fab_title="Action with a very long name that won\'t fit on the screen"
            fab:fab_colorPressed="@color/white"/>
    
    </com.getbase.floatingactionbutton.FloatingActionsMenu>
    
    opened by irtefa 10
  • NullPointerException when start activity

    NullPointerException when start activity

    I try call expande() when start activity and i get error NullPointerException. What wrong in here?

    bug 
    opened by vacvac 9
  • Change states

    Change states

    Change FAB state when click.

    Allow icon to animate, like AddFAB to change into loading, etc.

    Enable 'enabled' state

    opened by alorma 9
  • Error inflating class com.getbase.floatingactionbutton.FloatingActionsMenu

    Error inflating class com.getbase.floatingactionbutton.FloatingActionsMenu

    Getting the following error with in production release and unable to trouble shoot since it is not in the dev environment.

    Device Brand: Huawei Model: Huawei Enjoy 9s Orientation: Portrait RAM free: 13.81 GB Disk free: 16.1 GB

    OS Version: 5.1 Orientation: Portrait Rooted: Yes

    Fatal Exception: android.view.InflateException: Binary XML file line #13: Error inflating class com.getbase.floatingactionbutton.FloatingActionsMenu at android.view.LayoutInflater.createView(LayoutInflater.java:633) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743) at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) at android.view.LayoutInflater.parseInclude(LayoutInflater.java:916) at android.view.LayoutInflater.rInflate(LayoutInflater.java:802) at android.view.LayoutInflater.inflate(LayoutInflater.java:504) at android.view.LayoutInflater.inflate(LayoutInflater.java:414) at com.nehavin.prayercounter.ui.main.Today.onCreateView(Today.java:242) at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2699) at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:320) at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1199) at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1368) at androidx.fragment.app.FragmentManager.moveFragmentToExpectedState(FragmentManager.java:1446) at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1509) at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:447) at androidx.fragment.app.FragmentManager.executeOps(FragmentManager.java:2181) at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2004) at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1959) at androidx.fragment.app.FragmentManager.execSingleAction(FragmentManager.java:1830) at androidx.fragment.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:303) at androidx.fragment.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:270) at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1244) at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1092) at androidx.viewpager.widget.ViewPager.onMeasure(ViewPager.java:1622) at android.view.View.measure(View.java:17547) at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:727) at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:463) at android.view.View.measure(View.java:17547) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535) at android.widget.FrameLayout.onMeasure(FrameLayout.java:436) at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:146) at android.view.View.measure(View.java:17547) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436) at android.widget.LinearLayout.measureVertical(LinearLayout.java:722) at android.widget.LinearLayout.onMeasure(LinearLayout.java:613) at android.view.View.measure(View.java:17547) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535) at android.widget.FrameLayout.onMeasure(FrameLayout.java:436) at android.view.View.measure(View.java:17547) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436) at android.widget.LinearLayout.measureVertical(LinearLayout.java:722) at android.widget.LinearLayout.onMeasure(LinearLayout.java:613) at android.view.View.measure(View.java:17547) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535) at android.widget.FrameLayout.onMeasure(FrameLayout.java:436) at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2615) at android.view.View.measure(View.java:17547) at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2015) at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1173) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1379) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1061) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5885) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767) at android.view.Choreographer.doCallbacks(Choreographer.java:580) at android.view.Choreographer.doFrame(Choreographer.java:550) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753) at android.os.Handler.handleCallback(Handler.java:756) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5314) at java.lang.reflect.Method.invoke(Method.java) at java.lang.reflect.Method.invoke(Method.java:374) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) Caused by java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.newInstance(Constructor.java) at java.lang.reflect.Constructor.newInstance(Constructor.java:288) at android.view.LayoutInflater.createView(LayoutInflater.java:607) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743) at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) at android.view.LayoutInflater.parseInclude(LayoutInflater.java:916) at android.view.LayoutInflater.rInflate(LayoutInflater.java:802) at android.view.LayoutInflater.inflate(LayoutInflater.java:504) at android.view.LayoutInflater.inflate(LayoutInflater.java:414) at com.nehavin.prayercounter.ui.main.Today.onCreateView(Today.java:242) at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2699) at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:320) at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1199) at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1368) at androidx.fragment.app.FragmentManager.moveFragmentToExpectedState(FragmentManager.java:1446) at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1509) at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:447) at androidx.fragment.app.FragmentManager.executeOps(FragmentManager.java:2181) at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2004) at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1959) at androidx.fragment.app.FragmentManager.execSingleAction(FragmentManager.java:1830) at androidx.fragment.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:303) at androidx.fragment.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:270) at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1244) at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1092) at androidx.viewpager.widget.ViewPager.onMeasure(ViewPager.java:1622) at android.view.View.measure(View.java:17547) at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:727) at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:463) at android.view.View.measure(View.java:17547) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535) at android.widget.FrameLayout.onMeasure(FrameLayout.java:436) at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:146) at android.view.View.measure(View.java:17547) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436) at android.widget.LinearLayout.measureVertical(LinearLayout.java:722) at android.widget.LinearLayout.onMeasure(LinearLayout.java:613) at android.view.View.measure(View.java:17547) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535) at android.widget.FrameLayout.onMeasure(FrameLayout.java:436) at android.view.View.measure(View.java:17547) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436) at android.widget.LinearLayout.measureVertical(LinearLayout.java:722) at android.widget.LinearLayout.onMeasure(LinearLayout.java:613) at android.view.View.measure(View.java:17547) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535) at android.widget.FrameLayout.onMeasure(FrameLayout.java:436) at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2615) at android.view.View.measure(View.java:17547) at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2015) at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1173) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1379) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1061) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5885) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767) at android.view.Choreographer.doCallbacks(Choreographer.java:580) at android.view.Choreographer.doFrame(Choreographer.java:550) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753) at android.os.Handler.handleCallback(Handler.java:756) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5314) at java.lang.reflect.Method.invoke(Method.java) at java.lang.reflect.Method.invoke(Method.java:374) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) Caused by android.content.res.Resources$NotFoundException: Resource ID #0x7f080089 at android.content.res.Resources.getValue(Resources.java:1266) at android.content.res.Resources.getDrawable(Resources.java:785) at android.content.res.Resources.getDrawable(Resources.java:752) at com.getbase.floatingactionbutton.FloatingActionButton.updateBackground(FloatingActionButton.java:236) at com.getbase.floatingactionbutton.FloatingActionsMenu$1.updateBackground(FloatingActionsMenu.java:155) at com.getbase.floatingactionbutton.FloatingActionButton.init(FloatingActionButton.java:90) at com.getbase.floatingactionbutton.AddFloatingActionButton.init(AddFloatingActionButton.java:36) at com.getbase.floatingactionbutton.FloatingActionButton.(FloatingActionButton.java:66) at com.getbase.floatingactionbutton.AddFloatingActionButton.(AddFloatingActionButton.java:23) at com.getbase.floatingactionbutton.AddFloatingActionButton.(AddFloatingActionButton.java:19) at com.getbase.floatingactionbutton.FloatingActionsMenu$1.(FloatingActionsMenu.java:148) at com.getbase.floatingactionbutton.FloatingActionsMenu.createAddButton(FloatingActionsMenu.java:148) at com.getbase.floatingactionbutton.FloatingActionsMenu.init(FloatingActionsMenu.java:109) at com.getbase.floatingactionbutton.FloatingActionsMenu.(FloatingActionsMenu.java:78) at java.lang.reflect.Constructor.newInstance(Constructor.java) at java.lang.reflect.Constructor.newInstance(Constructor.java:288) at android.view.LayoutInflater.createView(LayoutInflater.java:607) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743) at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) at android.view.LayoutInflater.parseInclude(LayoutInflater.java:916) at android.view.LayoutInflater.rInflate(LayoutInflater.java:802) at android.view.LayoutInflater.inflate(LayoutInflater.java:504) at android.view.LayoutInflater.inflate(LayoutInflater.java:414) at com.nehavin.prayercounter.ui.main.Today.onCreateView(Today.java:242) at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2699) at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:320) at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1199) at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1368) at androidx.fragment.app.FragmentManager.moveFragmentToExpectedState(FragmentManager.java:1446) at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1509) at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:447) at androidx.fragment.app.FragmentManager.executeOps(FragmentManager.java:2181) at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2004) at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1959) at androidx.fragment.app.FragmentManager.execSingleAction(FragmentManager.java:1830) at androidx.fragment.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:303) at androidx.fragment.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:270) at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1244) at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1092) at androidx.viewpager.widget.ViewPager.onMeasure(ViewPager.java:1622) at android.view.View.measure(View.java:17547) at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:727) at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:463) at android.view.View.measure(View.java:17547) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535) at android.widget.FrameLayout.onMeasure(FrameLayout.java:436) at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:146) at android.view.View.measure(View.java:17547) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436) at android.widget.LinearLayout.measureVertical(LinearLayout.java:722) at android.widget.LinearLayout.onMeasure(LinearLayout.java:613) at android.view.View.measure(View.java:17547) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535) at android.widget.FrameLayout.onMeasure(FrameLayout.java:436) at android.view.View.measure(View.java:17547) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436) at android.widget.LinearLayout.measureVertical(LinearLayout.java:722) at android.widget.LinearLayout.onMeasure(LinearLayout.java:613) at android.view.View.measure(View.java:17547) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535) at android.widget.FrameLayout.onMeasure(FrameLayout.java:436) at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2615) at android.view.View.measure(View.java:17547) at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2015) at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1173) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1379) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1061) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5885) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767) at android.view.Choreographer.doCallbacks(Choreographer.java:580) at android.view.Choreographer.doFrame(Choreographer.java:550) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753) at android.os.Handler.handleCallback(Handler.java:756) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5314) at java.lang.reflect.Method.invoke(Method.java) at java.lang.reflect.Method.invoke(Method.java:374) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

    Any help will be highly appreciated

    Regards, Vineet

    opened by reachvineetjain 0
  • AndroidX

    AndroidX

    I am getting the following when running canISayByeByeJetifier.

    Scanning com.getbase:floatingactionbutton:1.10.1
     Absoulute path: /Users/xiwei/.gradle/caches/modules-2/files-2.1/com.getbase/floatingactionbutton/1.10.1/606b307b5073e6228dd7c4ea6b2755dc00d558a5/floatingactionbutton-1.10.1.aar
     Graphs to this dependency:
     +---com.getbase:floatingactionbutton:1.10.1
     Issues found:
     * pom -> com.android.support:support-annotations:27.0.0
    

    Would you consider update to AndroidX?

    Thanks!

    opened by GC-Xi 0
  • feature requirment

    feature requirment

    Is there any plan to add Extended FAB? image

    opened by TigerBeanst 1
  • Expand Direction to left

    Expand Direction to left

    Hi,

    I tried to use the ads:fab_expandDirection="left", but application is getting crashed.

    opened by OneTouchPro 0
  • Center in layout

    Center in layout

    How to center menu in relative layout.

    My code:

    <com.getbase.floatingactionbutton.FloatingActionsMenu
        android:id="@+id/multiple_actions_down"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="30dp"
        fab:fab_labelStyle="@style/menu_labels_style"
        fab:fab_addButtonColorNormal="#4cbdb0"
        fab:fab_addButtonColorPressed="#4cbdb0"
        fab:fab_addButtonSize="normal"
        fab:fab_expandDirection="up">
    
        <com.getbase.floatingactionbutton.FloatingActionButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:foregroundGravity="center"
            fab:fab_colorNormal="#176E64"
            fab:fab_colorPressed="#4cbdb0"
            fab:fab_size="mini"
            fab:fab_title="Novo Pedido" />
    </com.getbase.floatingactionbutton.FloatingActionsMenu>
    

    image

    thanks.

    opened by charles-silva 1
  • Update readme to add links to sample project code

    Update readme to add links to sample project code

    Added links to layout.xml, MainActivity.java and sample project for easy navigation to the relevant examples

    opened by corneliouzbett 0
  • support

    support

    Will this library be supported now?

    opened by mbfakourii 1
  • Proposing to add setmenuButtonColorNormal(int Color)

    Proposing to add setmenuButtonColorNormal(int Color)

    By this method user can programatically change the icon color of Floating Action menu

    opened by rameez-sgi 0
  • How to change color of Floating Action Menu on Normal State Programatically ?

    How to change color of Floating Action Menu on Normal State Programatically ?

    Hey I have different themes in my project and I want to change the color of Floating action menu programatically according to the theme selected !! Please help me how do I change it in java code !! Thank you for your help .

    opened by rameez-sgi 1
A simple Floating Action Button that shows an anchored Navigation View

Floating Navigation View A simple Floating Action Button that shows an anchored Navigation View and was inspired by Menu Material Fixed created by Tom

André Mion 1.2k Jul 30, 2021
[] Android floating action button

DEPRECATED Use the FloatingActionButton from the support library instead. FloatingActionButton Description Android floating action button which reacts

Oleksandr Melnykov 4k Jul 25, 2021
Material progress circle around any FloatingActionButton. 100% Guidelines.

FABProgressCircle Android library to provide a material progress circle around your FloatingActionButton. This component is compatible with any existe

Jorge Castillo 1.2k Jun 27, 2021
Base on android-process-button this is the advanced version of the android-process-button.

Rock Button release log Base on android-process-button this is the advanced version of the android-process-button ##Main Features ActionProcessButton

MDCCLXXVI KPT 121 Sep 8, 2020
Icons, Borders, Radius ... for Android buttons

⚠️ This library was made years ago when it wasn't that easy to customize Android buttons like today. I highly recommend you to use Material Design but

Mehdi Sakout 1.8k Jul 28, 2021
Bootstrap style widgets for Android, with Glyph Icons

Android-Bootstrap Android Bootstrap is an Android library which provides custom views styled according to the Twitter Bootstrap Specification. This al

Bearded Hen 7.2k Jul 25, 2021
Android button which moves in eight direction.

Moving Button Android button which moves in eight direction. Preview Sample Demo You can download demo movie file here : demo.mov It's also on Youtube

Leonardo Taehwan Kim 128 Mar 17, 2021
SwitchButton 是 Android 上的一个开关按钮控件 【Deprecated】【Stop maintenance】

SwitchButton 【Deprecated】【Stop maintenance】停止维护了,推荐使用:https://github.com/zcweng/SwitchButton SwitchButton 是 Android 上的一个开关按钮控件 示例 APP 扫描二维码或点我下载 特性 支持

Nameless 332 May 24, 2021
⭐️ beautiful switch widget with sticky animation ⭐️

StickySwitch StickySwitch library for android this library is beautiful switch widget with sticky animation Requirements Android SDK 15+ Usage Add it

GwonHyeok 751 Jul 19, 2021
A shopping cart button with a telescopic displacement rotation animation ...一个带伸缩位移旋转动画的购物车按钮

AnimShopButton A shopping cart button with a telescopic displacement rotation animation ... 一个仿饿了么 带伸缩位移旋转动画的购物车按钮 注意,本控件非继承自ViewGroup,而是纯自定义View,实现的仿

张旭童 1.3k Jul 25, 2021
Android Floating ActionButton with a progress indicator ring

FabProgress Android Circular floating action button with intergrated progress indicator ring As per material design docs Demo: Demo apk HOW TO ADD TO

Kurt Mbanje 772 Jun 27, 2021
Android Circular Progress Button

?? Before using this library, read information below ?? This library is not more supported. If you want to add new feature or fix a bug, grab source

Dmytro Danylyk 5.5k Jul 28, 2021
👏 The Medium's Clapping Effect developed in Android

?? MediumClap-Android Built with ❤︎ by Wajahat Karim and contributors A Custom Floating Action Button (FAB) library like clapping effect on Medium ??

Wajahat Karim 488 Jul 24, 2021
A FloatingActionButton subclass that shows a counter badge on right top corner

CounterFab A FloatingActionButton subclass that shows a counter badge on right top corner It's also used by Louvre library. Installation Include the l

André Mion 730 Jul 29, 2021