TapBarMenu alternatives and similar packages
Based on the "Menu Widget" category.
Alternatively, view TapBarMenu alternatives based on common mentions on social networks and blogs.
-
SlidingMenu
An Android library that allows you to easily create applications with slide-in menus. You may use it in your Android apps provided that you cite this project and include the license in your app. Thanks! -
android-menudrawer
*DEPRECATED* A slide-out menu implementation, which allows users to navigate between views in your app. -
AndroidResideMenu
The idea of ResideMenu is from Dribbble 1 and 2. It has come true and run in iOS devices. iOS ResideMenu This project is the RefsideMenu Android version. The visual effect is partly referred to iOS version of ResideMenu. And thanks to the authors for the above idea and contribution. -
BottomSheet
One way to present a set of actions to a user is with bottom sheets, a sheet of paper that slides up from the bottom edge of the screen. Bottom sheets offer flexibility in the display of clear and simple actions that do not need explanation. -
Material-BottomNavigation
Bottom Navigation widget component inspired by the Google Material Design Guidelines at https://www.google.com/design/spec/components/bottom-navigation.html -
ActionsContentView
DISCONTINUED. ActionsContentView is an standalone library implements actions/content swiping view (AKA Side Navigation UI Pattern, AKA Facebook side menu). The library doesn't use any specific code introduced in new Android SDK versions. This allows develop an application with an action/content swiping view for every version of Android from 2.2 and up. -
SideNavigation
Implementation of "Side Navigation" or "Fly-in app menu" pattern for Android (based on Google+ app) -
simple-side-drawer
Simple library which enable you to add a drawer(slide-out) navigation to your android application -
android-floating-action-menu
Floating Action Menu for Android. Inspired by the Google Plus floating menu -
Android-NewPopupMenu
DISCONTINUED. Android-NewPopupMenu is an android library to create popup menu with GoogleMusic app-like style. -
Metaball-Menu
A menu consisting of icons (ImageViews) and metaball bouncing selection to give a blob effect. Inspired by Material design -
AndroidPullMenu
An Android Library that allows users to pull down a menu and select different actions. It can be implemented inside ScrollView, GridView, ListView. -
SlidingUpMenu
๐ A very customizable library that allows you to present menu items (from menu resource and/or other sources) to users as a bottom sheet.
CodeRabbit: AI Code Reviews for Developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of TapBarMenu or a related project?
README
TapBar Menu
Simple library that helps creating a "Tap Bar" menu layout.
Demo 1: https://youtu.be/DjY0cTWWtao
Demo 2: https://youtu.be/dWuPMN6WTOY
Install
Since version 1.0.6 this library is being distributed via JitPack
Step 1:
Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Step 2:
Add the dependency:
dependencies {
implementation 'com.github.michaldrabik:TapBarMenu:1.0.6'
}
For versions 1.0.5 and older:
Add the dependency to your build.gradle
:
dependencies {
compile 'com.github.michaldrabik:tapbarmenu:1.0.5'
}
Use
Check sample project for a full example.
TapBarMenu is an extension of a LinearLayout so you can simply put it in your XML. For example:
<com.michaldrabik.tapbarmenulib.TapBarMenu
android:id="@+id/tapBarMenu"
android:layout_width="match_parent"
android:layout_height="56dp"
android:layout_gravity="bottom"
android:layout_marginBottom="24dp"
>
<ImageView
android:id="@+id/item1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:src="@drawable/ic_thumb_up"
/>
<Space
android:layout_width="56dp"
android:layout_height="match_parent"
/>
<ImageView
android:id="@+id/item2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:src="@drawable/ic_thumb_down"
/>
</com.michaldrabik.tapbarmenulib.TapBarMenu>
This will create a menu with 2 icons in the bottom of the screen.
Then, in your code, call open()
, close()
or toggle()
to open/close the menu:
tapBarMenu.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
tapBarMenu.toggle();
}
});
Note: TapBarMenu will always expand to its parent width. You can choose between 2 anchors bottom
or top
- see attributes below.
Customize
All available XML parameters are listed below:
Attribute | Format | Description |
---|---|---|
app:tbm_showItems | true, false | Use this to show menu's items in a XML preview window.Useful for designing your menu.Default: false |
app:tbm_backgroundColor | color | Menu color.Default: red |
app:tbm_buttonSize | dimension | Diameter of the menu button.Default: 56dp |
app:tbm_buttonPosition | left, right, center | Position of the menu button.Default: center |
app:tbm_buttonMarginRight | dimension | Button position right margin.Default: 0 |
app:tbm_buttonMarginLeft | dimension | Button position left margin.Default: 0 |
app:tbm_iconOpened | drawable | Custom icon for opened state. Must be an animated vector drawable.Default: X icon |
app:tbm_iconClosed | drawable | Custom icon for closed state. Must be an animated vector drawable.Default: Menu icon |
app:tbm_menuAnchor | top, bottom | Where menu should expand.Default: bottom |
Kudos
I've been inspired by Aaron Benjamin's great design.
Release Notes
1.0.6 - Update Android dependencies and migrate to JitPack 1.0.5 - Added Regular Drawable support 1.0.4 - Memory optimizations, onClick listener fixes 1.0.2 - You can now add custom icon via XML or code. See attributes. 1.0.1 - Pre 21 SDK bugfixes 1.0.0 - Initial release
License
Copyright (C) 2019 Michal Drabik
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*Note that all licence references and agreements mentioned in the TapBarMenu README section above
are relevant to that project's source code only.