BottomSheet alternatives and similar packages
Based on the "Menu Widget" category.
Alternatively, view BottomSheet 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! -
Side-Menu.Android
Side menu with some categories to choose. -
Context-Menu.Android
You can easily add awesome animated context menu to 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. -
android-menudrawer
*DEPRECATED* A slide-out menu implementation, which allows users to navigate between views in your app. -
CircularFloatingActionMenu
an animated circular menu for Android -
FlowingDrawer
swipe display drawer with flowing & bouncing effects. -
ArcMenu
An android custom view which looks like the menu in Path 2.0 (for iOS). -
Material-BottomNavigation
Bottom Navigation widget component inspired by the Google Material Design Guidelines at https://www.google.com/design/spec/components/bottom-navigation.html -
PowerMenu
:fire: Powerful and modernized popup menu with fully customizable animations. -
LuseenBottomNavigation
BottomNavigationView Designed according Google guideLine -
DropDownMenu
DropDownMenu for Android,Filter the list based on multiple condition. -
ActionsContentView
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. -
Android Wheel Menu
Simple and easy to use circular menu widget for Android. -
MultiCardMenu
A multicard menu that can open and close with animation on android -
SideNavigation
Implementation of "Side Navigation" or "Fly-in app menu" pattern for Android (based on Google+ app) -
BlurNavigationDrawer
Android - Blur Navigation Drawer like Etsy app. -
Android-CircleMenu
Menu with items on a rotating circle -
simple-side-drawer
Simple library which enable you to add a drawer(slide-out) navigation to your android application -
GoogleNavigationDrawerMenu
Android Library for a DrawerLayout similar to the one in Google Apps -
android-floating-action-menu
Floating Action Menu for Android. Inspired by the Google Plus floating menu -
Android-NewPopupMenu
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.
Appwrite - The Open Source Firebase alternative introduces iOS support
* 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 BottomSheet or a related project?
README
BottomSheet
Google introduced official bottomsheets implementation in Support library 23.2.0,thus this library is no longer activly being developed. I will continuely fix defects been found and accept good PR but No more new feature will be developed. Thanks for your support!
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.
https://www.google.com/design/spec/components/bottom-sheets.html
This library works on android api 14+
How to use this library
- Download this library, import to your IDE (eclipse...) as a library project.
- Using Gradle
compile 'com.cocosw:bottomsheet:[email protected]'
- Using Maven
<dependency>
<groupId>com.cocosw</groupId>
<artifactId>bottomsheet</artifactId>
<version>1.x</version>
<type>apklib</type>
</dependency>
- Version if you use Android support library - 1.4.0 if you use Androidx - 1.5.0
API
- Define actions in menu xml (Tip: divider tag has been replaced by group tag from 1.1.0)
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/share" android:title="@string/share" android:icon="@drawable/perm_group_messages"/>
<item android:id="@+id/upload" android:title="@string/upload" android:icon="@drawable/perm_group_system_clock"/>
<item android:id="@+id/call" android:title="@string/call" android:icon="@drawable/perm_group_phone_calls"/>
<group android:id="@+id/helpgroup">
<item android:id="@+id/help" android:title="@string/help" android:icon="@drawable/perm_group_system_tools"/>
</group>
</menu>
- Show it just like showing a dialog.
new BottomSheet.Builder(this).title("title").sheet(R.menu.list).listener(new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case R.id.help:
q.toast("Help me!");
break;
}
}
}).show();
- You can also add action items in builder.
Action items manipulate
You can get a menu object from bottomsheet instance from 1.1.0, and change it as you want, exactly like you're manipulating an android menu or actionbar actionitems. Please be aware that if you change the menu after showing the bottomsheet, you must call invalidate(), or no changes will be applied and your app might crash. Please check example application for more info.
Style
- Invoke darkTheme() to show the built-in dark theme
- Or define your style in your application, and call bottomsheet by using new BottomSheet.Builder(this,R.style.BottomSheet_StyleDialog)....
<style name="BottomSheet.StyleDialog" parent="BottomSheet.Dialog">
<item name="android:backgroundDimAmount">0.5</item>
<item name="android:windowAnimationStyle">@style/BottomSheet.Animation</item>
<item name="android:textColorPrimary">#DDffffff</item>
<item name="android:textColorSecondary">#8Affffff</item>
<item name="android:textColorHint">#42ffffff</item>
<item name="bs_dialogBackground">@color/abc_search_url_text_normal</item>
<item name="bs_dividerColor">@color/abc_search_url_text_pressed</item>
<item name="bs_numColumns">4</item>
<item name="bs_listStyle">@style/BottomSheet.StyleList</item>
</style>
- Or set bottomesheet style in your activity theme
<style name="StyleTheme" parent="Theme.AppCompat">
<item name="bs_bottomSheetStyle">@style/BottomSheet.StyleDialog</item>
</style>
Contribute
- Feel free to fork it
About me
I'm Kai, an 32 years old android developer based in Sydney.
License
Copyright 2011, 2015 Kai Liao
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 BottomSheet README section above
are relevant to that project's source code only.