Good enough for Twitter, good enough for us!

Today, let’s create Twitter’s Bottom Navigation Bar with icons that fill in with color when selected.

But first, a bit of background info…

Google’s finally moved away from the Drawer Menu as the primary method of navigation towards something much better in the form of the Bottom Navigation Bar.

Unlike most of Google’s Material Design guidelines, Google actually provides us a Bottom Navigation Bar component for us to use in our apps. Thanks Google…

…or not.

Unfortunately, the default Bottom Navigation Bar Google gives us in the Material Components (com.google.android.material) library is extremely limited and quite unusable in a production app. Plainly put, it is really terrible.

Google’s Material Design Team cruzin’

Fortunately, enough apps require a bottom navigation view and the problem is common place enough that there are a plethora of options to choose from when searching for replacement libraries on Github. After trying out most of the available options, I’m happy to say I’ve found the one that works the best. Say hello to…

BottomNavigationViewEx

Here’s what I love about this library:

Lots of customization options

Labels/no labels

Change icon size, or hide icons altogether

Shifting animation control

Color/tint control

Center Floating Action Button

Viewpager Support

Fancy Badges!

Who knew badges could be so fun and addicting?

Last, but perhaps most importantly, this library extends Google’s BottomNavigationView which means it effortlessly integrates with the new JetPack Navigation Architectural component.