Hi everyone,
This is a B4X compatible bottom navigation. It has 4 types of tab changing animation and 3 types of icon revealing animation.
WobbleMenu
Author: @Biswajit
Version: 1.5
Dependency: JavaObject, BitmapCreator, XUI
Copy the library to the additional library folder then run the examples. Have fun!
UPDATE v1.2 (Latest Examples and Library Attached):
UPDATE v1.42: Added getHeight method.
UPDATE v1.43:
			
			This is a B4X compatible bottom navigation. It has 4 types of tab changing animation and 3 types of icon revealing animation.
WobbleMenu
Author: @Biswajit
Version: 1.5
Dependency: JavaObject, BitmapCreator, XUI
- WobbleMenu- Functions:- GetCurrentTab As Int
 Get the current tab id (1 to 5)
- GetHeight As Int
 Get menu height.
- SetAnimationType(Animation_Type As Int)
 Set the tab changing animation type. Check properties
- SetCurrentTab(TabID As Int)
 Set the current tab from 1 to 5
- SetCurrentTab2(TabID As Int, triggerEvent As Boolean) NEW
 Same as SetCurrentTab. If you set triggerEvent = false then it will not trigger the tab click event.
- SetIconAppearStyle(Icon_Appear_Style As Int)
 Set icon revealing animation type. Check properties
- SetTabTextIcon(TabID As Int, Text As String, Icon As String, IconFont As Typeface)
 Set the tab text and icons (TabID must be between 1 to 5)
- SetTabTextIcon2(TabID As Int, Text As String, Icon As Bitmap, tinted As Boolean) NEW
 Set the tab text and image icon (TabID must be between 1 to 5)
- SetBadge(TabID As Int, Count As Int, BackColor As Int, TxtColor As Int)
 Set tab badge. (after 99 it will show 99+)
- RemoveBadge(TabID As Int)
 Remove badge from a tab.
- SetTabCount(count As Int)
 Set tab count at runtime.
 Count must be either 5 or 3
 Note: You can't change the tab count to 3 if your selected tab id is 4 or 5
- SetEnableTab(TabID As Int, enable As Boolean)
 Enable or disable a tab.
- GetEnableTab(TabID As Int) As Boolean
 Check if a tab is enabled or not.
- SetVisible(show As Boolean, animate As Boolean) NEW
 Set menu visibility
 
- GetCurrentTab As Int
- Events:- Tab1Click
- Tab2Click
- Tab3Click
- Tab4Click
- Tab5Click
 
- Properties:- ANIMATION_TYPE_ELASTIC_OUT As Int
- ANIMATION_TYPE_ELASTIC_IN As Int
- ANIMATION_TYPE_EASE_OUT As Int
- ANIMATION_TYPE_EASE_IN As Int
- ANIMATION_TYPE_NONE As Int
- ICON_APPEAR_FROM_CENTER As Int
- ICON_APPEAR_FROM_EDGE As Int
- ICON_APPEAR_FADE_IN As Int
- ICON_APPEAR_NO_ANIMATION As Int
 
- Designer Properties:- No. of Tabs (Default: 5)
- Active Tab (Default 3) NEW
- Background Color (Default: 0xFFFFFFFF)
- Shadow Color (Default: Dark)
- Icon Color (Default: 0xFFBBBBBB)
- Icon Size (Default: 18)
- Text Color (Default: 0xFFFFFFFF)
- Text Size (Default: 14)
- Selected Icon Color (Default: 0xFF000000)
- Icon Appear Style (Default: FROM EDGE)
- Animation Type (Default: ELASTIC OUT)
- Animation Duration (Default: 500)
 
 
- Functions:
Copy the library to the additional library folder then run the examples. Have fun!
UPDATE v1.2 (Latest Examples and Library Attached):
- Added 3 Tabs option to designer properties
- Added Icon Fade In and no animation option
- Fixed SetTabIcon method, previously it was unable to handle any TabID value other than 1 to 5
- Added Shadow Type (Light/Dark) Option
- Now you can add text under icons
- Now you can add a badge to each tab
- Control icon size, text color, and text size from the designer.
- More smooth curve.
UPDATE v1.42: Added getHeight method.
UPDATE v1.43:
- Change tab count at runtime
- Get or set the tab enable status.
- Minor animation bug fixed.
- Added b4xpage+viewpager example.
- Added image icon support.
- Added setVisible method.
- Added setCurrentTab2 method which supports changing active tab without triggering click event.
- Now the default active tab can be selected from the designer.
Attachments
			
				Last edited: