Share My Creation [B4A] Template Splash + CustomViews (TopBar & MenuBar)

template.gif

Hey everyone
I've been working on a B4A template that I'd like to share with the community. It includes an animated splash screen and two reusable CustomViews designed to work together as a foundation for any app.

What's included:
Splash Screen
A physics-based animated splash screen inspired by Disney's 12 principles of animation. Features squash & stretch, anticipation, follow-through, dual spring physics for the exit animation, and a smooth spring panel entry transition.

TopBar (CustomView) A fully configurable top bar with:
  • Logo ImageView on the left
  • Centered title
  • Animated hamburger menu icon on the right (transforms to X on click)
  • Compatible with B4XDrawer for the navigation drawer
  • Designer properties for colors, title and logo
MenuBar (CustomView) A bottom navigation bar with:
  • Variable number of tabs (3 to 6) configured programmatically
  • FontAwesome icons + text labels
  • Active/inactive color states
  • Simple API: AddTab(iconCode, text) + Build
  • TabChanged(Index) event
Usage example::
MenuBar1.AddTab(0xf015, "Home")
MenuBar1.AddTab(0xf07c, "Categories")
MenuBar1.AddTab(0xf007, "Profile")
MenuBar1.Build

Requirements:
  • B4A
  • XUI library
  • B4XDrawer (for the hamburger menu)
Feedback and suggestions are very welcome. Hope it's useful

GitHub Link
 

TILogistic

Expert
Licensed User
Longtime User
Feedback and suggestions are very welcome. Hope it's useful
Comparison to decide which one to use based on the objectives:

FeatureEasing FunctionsPhysics (Springs/Forces)
ControlYou define the exact duration (e.g., 300ms).You define mass and tension; duration is variable.
BehaviorAlways follows the same path from start to finish.It is reactive: if the destination changes, the animation adapts.
FeelAesthetic, polished, but "predictable."Organic, with weight and momentum.
InterruptionStopping it mid-way often causes a visual "jump."If interrupted, it preserves velocity and flows smoothly.
Ideal UseButtons, fixed menus, color changes.Drag & drop, sliders, elements the user "throws."
When to choose which?

  1. Use Easing if you need the interface to be fast and consistent. It's best for repetitive actions where the user shouldn't have to wait for a "spring" to stop bouncing.
  2. Use Physics if you want the interface to feel alive and tactile. This is the key to making modern apps (like iOS or Framer Motion) feel premium and natural to the touch.
 
Top