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!

Related tags

Menu SlidingMenu
Overview

SlidingMenu (Play Store Demo)

SlidingMenu is an Open Source Android library that allows developers to easily create applications with sliding menus like those made popular in the Google+, YouTube, and Facebook apps. Feel free to use it all you want in your Android apps provided that you cite this project and include the license in your app.

SlidingMenu is currently used in some awesome Android apps. Here's a list of some of them:

If you are using SlidingMenu in your app and would like to be listed here, please let me know via Twitter!

Here's an older video of the example application in this repository : http://youtu.be/8vNaANLHw-c

Also, you can follow the project on Twitter : @SlidingMenu

Setup

  • In Eclipse, just import the library as an Android library project. Project > Clean to generate the binaries you need, like R.java, etc.
  • Then, just add SlidingMenu as a dependency to your existing project and you're good to go!

Setup with ActionBarSherlock

  • Setup as above.
  • Checkout a clean copy of ActionBarSherlock and import into your Eclipse workspace.
  • Add ActionBarSherlock as a dependency to SlidingMenu
  • Go into the SlidingActivities that you plan on using make them extend Sherlock___Activity instead of ___Activity.

How to Integrate this Library into Your Projects

In order to integrate SlidingMenu into your own projects you can do one of two things.

1. You can wrap your Activities in a SlidingMenu by constructing it programmatically (new SlidingMenu(Context context)) and then calling SlidingMenu.attachToActivity(Activity activity, SlidingMenu.SLIDING_WINDOW | SlidingMenu.SLIDING_CONTENT). SLIDING_WINDOW will include the Title/ActionBar in the content section of the SlidingMenu, while SLIDING_CONTENT does not. You can check it out in the example app AttachExample Activity.

2. You can embed the SlidingMenu at the Activity level by making your Activity extend SlidingActivity.

  • In your Activity's onCreate method, you will have to call setContentView, as usual, and also setBehindContentView, which has the same syntax as setContentView. setBehindContentView will place the view in the "behind" portion of the SlidingMenu. You will have access to the getSlidingMenu method so you can customize the SlidingMenu to your liking.
  • If you want to use another library such as ActionBarSherlock, you can just change the SlidingActivities to extend the SherlockActivities instead of the regular Activities.

3. You can use the SlidingMenu view directly in your xml layouts or programmatically in your Java code.

  • This way, you can treat SlidingMenu as you would any other view type and put it in crazy awesome places like in the rows of a ListView.
  • So. Many. Possibilities.

Simple Example

public class SlidingExample extends Activity {

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setTitle(R.string.attach);
		// set the content view
		setContentView(R.layout.content);
		// configure the SlidingMenu
		SlidingMenu menu = new SlidingMenu(this);
        menu.setMode(SlidingMenu.LEFT);
		menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
		menu.setShadowWidthRes(R.dimen.shadow_width);
		menu.setShadowDrawable(R.drawable.shadow);
		menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
		menu.setFadeDegree(0.35f);
		menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
		menu.setMenu(R.layout.menu);
	}
    
}

XML Usage

If you decide to use SlidingMenu as a view, you can define it in your xml layouts like this:

<com.jeremyfeinstein.slidingmenu.lib.SlidingMenu
    xmlns:sliding="http://schemas.android.com/apk/res-auto"
    android:id="@+id/slidingmenulayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    sliding:viewAbove="@layout/YOUR_ABOVE_VIEW"
    sliding:viewBehind="@layout/YOUR_BEHIND_BEHIND"
    sliding:touchModeAbove="margin|fullscreen"
    sliding:behindOffset="@dimen/YOUR_OFFSET"
    sliding:behindWidth="@dimen/YOUR_WIDTH"
    sliding:behindScrollScale="@dimen/YOUR_SCALE"
    sliding:shadowDrawable="@drawable/YOUR_SHADOW"
    sliding:shadowWidth="@dimen/YOUR_SHADOW_WIDTH"
    sliding:fadeEnabled="true|false"
    sliding:fadeDegree="float"
    sliding:selectorEnabled="true|false"
    sliding:selectorDrawable="@drawable/YOUR_SELECTOR"/>

NOTE : you cannot use both behindOffset and behindWidth. You will get an exception if you try.

  • viewAbove - a reference to the layout that you want to use as the above view of the SlidingMenu
  • viewBehind - a reference to the layout that you want to use as the behind view of the SlidingMenu
  • touchModeAbove - an enum that designates what part of the screen is touchable when the above view is showing. Margin means only the left margin. Fullscreen means the entire screen. Default is margin.
  • behindOffset - a dimension representing the number of pixels that you want the above view to show when the behind view is showing. Default is 0.
  • behindWidth - a dimension representing the width of the behind view. Default is the width of the screen (equivalent to behindOffset = 0).
  • behindScrollScale - a float representing the relationship between the above view scrolling and the behind behind view scrolling. If set to 0.5f, the behind view will scroll 1px for every 2px that the above view scrolls. If set to 1.0f, the behind view will scroll 1px for every 1px that the above view scrolls. And if set to 0.0f, the behind view will never scroll; it will be static. This one is fun to play around with. Default is 0.25f.
  • shadowDrawable - a reference to a drawable to be used as a drop shadow from the above view onto the below view. Default is no shadow for now.
  • shadowWidth - a dimension representing the width of the shadow drawable. Default is 0.
  • fadeEnabled - a boolean representing whether or not the behind view should fade when the SlidingMenu is closing and "un-fade" when opening
  • fadeDegree - a float representing the "amount" of fade. 1.0f would mean fade all the way to black when the SlidingMenu is closed. 0.0f would mean do not fade at all.
  • selectorEnabled - a boolean representing whether or not a selector should be drawn on the left side of the above view showing a selected view on the behind view.
  • selectorDrawable - a reference to a drawable to be used as the selector NOTE : in order to have the selector drawn, you must call SlidingMenu.setSelectedView(View v) with the selected view. Note that this will most likely not work with items in a ListView because of the way that Android recycles item views.

Caveats

  • Your layouts have to be based on a viewgroup, unfortunatly this negates the <merge> optimisations.

Developed By

  • Jeremy Feinstein

License

Copyright 2012-2014 Jeremy Feinstein

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.
Comments
  • TouchMode MARGIN does not work on some devices

    TouchMode MARGIN does not work on some devices

    Hi,

    Great work, as mentioned on twitter the MARGIN touch mode does not work on some devices.

    Thus far found that this is an issue on Samsung Note, HTC Sensation (coincidently running Gingerbread 2.3.4). (fyi, FULLSCREEN works on these devices, but of course that breaks the view pager).

    I have a few more devices that I will get round to testing it on, If i solve the problem I shall pull request it.

    Cheers, Chris

    opened by chrisjenx 42
  • Doesn't work well with Google Map v2 (SupportMapFragment)

    Doesn't work well with Google Map v2 (SupportMapFragment)

    I liked your work, it works great without a map fragment ... since MapFragment came out from Google not long ago, I've tried to look for ways to integrate SherlockActionbar + SlidingMenu + MapFragment ...

    The result:

    • No error, but there's a shadow (think is OpenGL issue left behind by MapFragment) on top of the behindContentView when I slide ... Please kindly help ...

    Note: I think this is related to issue #62

    References: http://facebook.stackoverflow.com/questions/13721929/using-actionbarsherlock-with-the-new-supportmapfragment/13727539#13727539

    public class SlideExample extends SlidingFragmentActivity {

    public void onCreate(Bundle savedInstanceState) { // ... setContentView(R.layout.view_with_map_fragment); // ...

    Screenshot:

    • https://picasaweb.google.com/lh/photo/h-h0iL9GONcikQ3mcE-6bdMTjNZETYmyPJy0liipFm0?feat=directlink

    Hardware:

    • running on Sony Ericsson Xperia Play (Android 2.3.6)
    opened by avatar21 38
  • Maven support for library and example app

    Maven support for library and example app

    This pull request is an example of Maven support for SlidingMenu which can serve as a starting point for a discussion on Maven support. There are several challenges supporting Maven for SlidingMenu:

    • You will need to release/tag stable versions of the library. Preferrably in Sonatype OSS repository (https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide) in order for people to easily start using the library.
    • The maps dependency in the library is not available from any public repository. Building and using the library will require users to deploy the maps artifact to their own private Maven repository. This can be done using https://github.com/mosabua/maven-android-sdk-deployer.
    • Because library projects are included and rebuilt inside the projects that include them all projects using the SlidingMenu library will have a dependency to Maps API and ActionBarSherlock. This isn't really good because people will have to include it with their apps even though they're not using those libraries. This may be possible to work around by moving the library code that is dependent on Maps API and ActionBarSherlock into separate modules. Users would only depend on the core library if they don't need ActionBarSherlock or Maps. A proposed project structure:

    slidingmenu-parent |->slidingmenu-core |->slidingmenu-maps-support |->slidingmenu-abs-support |->example

    opened by alfthomas 32
  • A Repaint issue?

    A Repaint issue?

    Hi. I am using your wonderful library along with the Sherlock library. I am running into an issue on an android 2.3 version on an HTC 4G phone. My front fragment (shown in front) has a view that shows a live camera view (it has a view that is an extension of SurfaceView) and my sliding "behind" menu is a simple list fragment.

    In my JellyBean (Galaxy Nexus) device, all works fine; I can slide the front view and see the behind menu but on my HTC phone, when I do that, the real estate that was covered by the camera surface is now black on the behind menu; it seems to be a repaint issue (I guess?) since if I press on the black area, the menu item that is supposed to be there actually reacts and does its job.

    I don't know how I can attach screenshots to make this visually more clear. Any help or suggestion to fix the issue is greatly appreciated.

    Thanks again for the great library.

    Ali.

    opened by naddaf 31
  • Google Maps API v2 content lags showing a black space on sliding close

    Google Maps API v2 content lags showing a black space on sliding close

    When sliding closed the window with a Google Maps API v2 it appears the map lags leaving a black space. I have tried all the fixes suggested in https://github.com/jfeinstein10/SlidingMenu/issues/168 wirh no success and have observed this behaviour on a Nexus S and Transformer Prime using Android 4.2.1 (cm 10.1)

    This behaviour was apparent in 2 projects, my own app and another set up as simple as possible (commonsware's omnibus MapsV2 Basic Demo) both using ActionBarSherlock.

    It appears as a white space using GoogleMapOptions().zOrderOnTop(true) setting from https://github.com/jfeinstein10/SlidingMenu/issues/168

    I have tried using the new API with another github project https://github.com/StevenRudenko/ActionsContentView and found the same result. This seems to be a problem with the new maps API, I'm not sure what can be done from SlidingMenu's end to assist this problem. Screen Shot 2013-01-13 at 3 29 13 PM

    opened by d4tum 28
  • SlidingMenu from BOTH left AND right side

    SlidingMenu from BOTH left AND right side

    Add the ability to add a third view which will display when slid out from the right side. Literally the same functionality that currently exists, but mirrored on the opposite side of the screen

    enhancement 
    opened by ajf214 28
  • Possible to not fork and customize ActionBarSherlock?

    Possible to not fork and customize ActionBarSherlock?

    Would it be possible to provide full Window (including ActionBar) sliding without forking and changing ActionBarSherlock? This would make integration with existing projects much easier, and will make SlidingMenu significantly easier to maintain. Currently it points to ABS 4.0.1, which doesn't support Android Jelly Bean. Maintaining SlidingMenu's custom fork of ABS could get tedious.

    bug enhancement 
    opened by derekbrameyer 27
  • Minimally Mavenize the project

    Minimally Mavenize the project

    Provide at least some minimal support for Maven users. I added a few pom.xml files, and listed the dependencies there. However, there is a jar file you depend on in the examples module that needs to be installed as a third party jar by whoever wants to use your project as a Maven style dependency. This pull will at least let them use the library portion in their project.

    opened by christopherperry 24
  • Examples don't work

    Examples don't work

    Hi, I would like to use your library for my project as it seems great and meet my need.

    I can't compile the examples provided because i have the following errors :

    • getSupportActionBar() is undefined
    • a few methods like onOptionsItemSelected() can't be override.

    My ABS is working fine (and i version 4.2.0) and i had no trouble to set up the slidemenu library.

    For ABS, slidemenu and the examples, i set a minsdk to 7 and target 17. I use JRE6.

    Thanks for helping !

    opened by akex31 20
  • pointerIndex out of range Exception

    pointerIndex out of range Exception

    Hello.

    Thank you for your great effort for this slidingmenu.

    I am developing an application implementing SlidingMemu and it is utterly nicely working.

    But today I found a strange behavior.

    please have a look at this picture

    [link] http://cfile1.uf.tistory.com/image/136E224E506AFE1C2540B1

    This happened when I moved my finger on the screen insanely.

    (I hope you could understand what I mean by this description because my English is not very fluent)

    Alright, I decided to show you another picture

    [link] http://cfile5.uf.tistory.com/image/1449604C506AFF9F194210

    Thank you.

    opened by Liliniser 20
  • On Orientation Change Issue

    On Orientation Change Issue

    Hi,

    First off thanks for the library, I plan on using it in my app EzImgur - I am stuck on this one issue and was hoping you could maybe point me in the right direction (as far as troubleshooting and fixing).

    Long story short - I am using the menu on an activity that does not restart on orientation change (android:configChanges="keyboardHidden|orientation|screenSize"). I am using the sliding menu view component (I am not using any of the custom activity classes) as the root view component in my activities and I am setting the "above" content by setting the view above each activity in the set content view.

    As far as the issue: Normally when I hit the home icon on the action bar, it will open the viewBehind and hide the action bar. This all works fine until the screen orientation changes. When the menu is not open and the screen orientation changes - the menu content is magically visible. When I check the sliding menu object to see if the behind view is visible I get false. If i try to hide the menu it does not work (probably because the menu thinks it is not open).

    To sum up:

    The behind view is being shown on orientation change (even when it was not open before the screen orientation change), and the sliding menu does not even think it is showing - I am unable to hide the menu unless the user clicks a menu item.

    Screenshots: http://imgur.com/a/MsThb Pic 1: the app normally before opening menu. Pic 2: the app after opening menu. Pic 3: the app after orientation change (the menu was not open when I changed orientation.)

    bug 
    opened by mh6300 19
  • Migrated to AndroidX but app crashes on back button press

    Migrated to AndroidX but app crashes on back button press

    Recently I migrated to AndroidX in one of my project. App is crashing when I press back button from the activity in which I used SlidingMenu.

    I am getting NullPointerException in onKeyUp function of SlidingFragmentActivity

    at com.jeremyfeinstein.slidingmenu.lib.app.SlidingFragmentActivity.onKeyUp(SlidingFragmentActivity.java:149)

    Here is the error

    java.lang.NullPointerException: Attempt to invoke virtual method 'void androidx.fragment.app.FragmentManagerImpl.dispatchDestroy()' on a null object reference at androidx.fragment.app.Fragment.performDestroy(Fragment.java:2825) at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1028) at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1238) at androidx.fragment.app.BackStackRecord.executePopOps(BackStackRecord.java:496) at androidx.fragment.app.FragmentManagerImpl.executeOps(FragmentManagerImpl.java:2076) at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1869) at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1824) at androidx.fragment.app.FragmentManagerImpl.popBackStackImmediate(FragmentManagerImpl.java:310) at androidx.fragment.app.FragmentManagerImpl.popBackStackImmediate(FragmentManagerImpl.java:253) at androidx.fragment.app.FragmentManagerImpl.handleOnBackPressed(FragmentManagerImpl.java:233) at androidx.fragment.app.FragmentManagerImpl$1.handleOnBackPressed(FragmentManagerImpl.java:108) at androidx.activity.OnBackPressedDispatcher.onBackPressed(OnBackPressedDispatcher.java:189) at androidx.activity.ComponentActivity.onBackPressed(ComponentActivity.java:286) at net.wadic.myhospital.DrawerActivity.onBackPressed(DrawerActivity.java:280) at android.app.Activity.onKeyUp(Activity.java:3147) at com.jeremyfeinstein.slidingmenu.lib.app.SlidingFragmentActivity.onKeyUp(SlidingFragmentActivity.java:149) at android.view.KeyEvent.dispatch(KeyEvent.java:2739) at android.app.Activity.dispatchKeyEvent(Activity.java:3430) at androidx.core.app.ComponentActivity.superDispatchKeyEvent(ComponentActivity.java:115) at androidx.core.view.KeyEventDispatcher.dispatchKeyEvent(KeyEventDispatcher.java:84) at androidx.core.app.ComponentActivity.dispatchKeyEvent(ComponentActivity.java:133) at androidx.appcompat.app.AppCompatActivity.dispatchKeyEvent(AppCompatActivity.java:558) at androidx.appcompat.view.WindowCallbackWrapper.dispatchKeyEvent(WindowCallbackWrapper.java:59) at androidx.appcompat.app.AppCompatDelegateImpl$AppCompatWindowCallback.dispatchKeyEvent(AppCompatDelegateImpl.java:2814) at com.android.internal.policy.DecorView.dispatchKeyEvent(DecorView.java:352) at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:5233) at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5101) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4620) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4673) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4639) at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4779) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4647) at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4836) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4620) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4673) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4639) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4647) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4620) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4673) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4639) at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4812) at android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:4975) at android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:2580) at android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:2090) 2020-01-30 00:52:56.612 21593-21593/net.wadic.myhospital.dev E/AndroidRuntime: at android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:2081) at android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:2557) at android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:141) at android.os.MessageQueue.nativePollOnce(Native Method) at android.os.MessageQueue.next(MessageQueue.java:326) at android.os.Looper.loop(Looper.java:165) at android.app.ActivityThread.main(ActivityThread.java:6806) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)

    Does anyone know what should I do to get rid of this error ?

    opened by zeeshanaslam78 1
  • Attr

    Attr "Mode" is duplicate then migrate to AndroidX

    I have a problem when migrate my projecto to androidX. In Sliding Menu has the attribute "mode" and it duplicate conflict with something androidX library then build project. Anybody help me please

    opened by agaDeonix 0
  • Using SLIDING_WINDOW mode overlaps with navigation bar

    Using SLIDING_WINDOW mode overlaps with navigation bar

    Extending SlidingActivity uses SLIDING_WINDOW mode by default for the sliding menu. This causes the menu (and the rest of the activity) to overlap behind the navigation bar. Setting the mode to SLIDING_CONTENT is a workaround, but changes the style.

    Image

    opened by zacharee 3
  • FloatMath library unavailable in API 23 and later

    FloatMath library unavailable in API 23 and later

    We did upgrade all our Android application and libraries to use Java 8 and API v25. The CustomViewAbove class uses a deprecated library FloatMath since API v23.

    The Android documentation suggest to use the library Math instead of FloatMath. We did correct this is our codebase. Along with the Gradle file to compile with Java 8 and use the latest API.

    With that changes, the CustomViewAbove cannot be compiled. I suggest to use the Math library instead of the FloatMath library to support latest Android tools.

    The exact line is CustomViewAbove line 303

    opened by punishermalade 1
Owner
Jeremy Feinstein
Software Engineer wrangling data and the web @flatironhealth
Jeremy Feinstein
** A slide-out menu implementation, which allows users to navigate between views in your app.

MenuDrawer A slide-out menu implementation, which allows users to navigate between views in your app. Most commonly the menu is revealed by either dra

Simon Vig Therkildsen 2.6k Dec 8, 2022
Nested popup menus with smooth height animations

cascade cascade builds nested popup menus with smooth height animations. It is designed to be a drop-in replacement for PopupMenu so using it in your

Saket Narayan 1.6k Jan 6, 2023
Simple library which enable you to add a drawer(slide-out) navigation to your android application

SimpleSideDrawer is an android library to add a drawer navigation into your android application. This library has high affinity with other libraries l

null 217 Nov 25, 2022
Space Navigation is a library allowing easily integrate fully customizable Google Spaces like navigation to your app.

Space-Navigation-View Introduction Space Navigation is a library allowing easily integrate fully customizable Google [Spaces][1] like navigation to yo

Arman 2k Dec 23, 2022
You can easily add awesome animated context menu to your app.

ContextMenu You can easily add awesome animated context menu to your app. Check this project on dribbble Check this project on Behance Usage: For a wo

Yalantis 3.8k Dec 28, 2022
🚀 A very customizable library that allows you to present menu items (from menu resource and/or other sources) to users as a bottom sheet.

SlidingUpMenu A library that allows you to present menu items (from menu resource and/or other sources) to users as a bottom sheet. Gradle Dependency

Rasheed Sulayman 26 Jul 17, 2022
Android-NewPopupMenu 3.9 0.0 Java is an android library to create popup menu with GoogleMusic app-like style.

Android-NewPopupMenu Android-NewPopupMenu is an android library to create popup menu with GoogleMusic app-like style. Requirements Tested with APIv4 H

u1aryz 159 Nov 21, 2022
An app that helps you create & remove WSA icon in the start menu

WSA Helper An application that allows you to manager WSA's icons in start menus

LSPosed 142 Dec 24, 2022
An Android Library that allows users to pull down a menu and select different actions. It can be implemented inside ScrollView, GridView, ListView.

AndroidPullMenu AndroidPullMenu is an Open Source Android library that allows developers to easily create applications with pull menu. The aim of this

Armando TBA 181 Nov 29, 2022
Android Library for a DrawerLayout similar to the one in Google Apps

GoogleNavigationDrawerMenu This project aims to let you use a ListView menu similar to the one in the new Google Apps (Keep, Play Music...) without ha

Jorge Martin Espinosa 267 Nov 25, 2022
A customizable and easy to use BottomBar navigation view with sleek animations, with support for ViewPager, ViewPager2, NavController, and badges.

AnimatedBottomBar A customizable and easy to use bottom bar view with sleek animations. Examples Playground app Download the playground app from Googl

Joery 1.2k Dec 30, 2022
Simple and easy to use circular menu widget for Android.

Deprecated This project is no longer maintained. No new issues or pull requests will be accepted. You can still use the source or fork the project to

Anup Cowkur 420 Nov 25, 2022
Bike-share - Jetpack Compose and SwiftUI based Kotlin Multiplatform sample project

BikeShare Jetpack Compose and SwiftUI based Kotlin Multiplatform sample project

Andrew Steinmetz 1 Feb 15, 2022
A new way to implement navigation in your app 🏎

ExpandableBottomBar A new way to improve navigation in your app Its really easy integrate to your project take it, faster, faster Important: library w

Alexander Dadukin 692 Dec 29, 2022
Implementation of "Side Navigation" or "Fly-in app menu" pattern for Android (based on Google+ app)

Android SideNavigation Library Implementation of "Side Navigation" or "Fly-in app menu" pattern for Android (based on Google+ app). Description The Go

Evgeny Shishkin 319 Nov 25, 2022
BottomSheet-Android - A simple customizable BottomSheet Library for Android Kotlin

BottomSheet-Android A simple customizable BottomSheet Library for Android Kotlin

Munachimso Ugorji 0 Jan 3, 2022
Android library that provides the floating action button to sheet transition from Google's Material Design.

MaterialSheetFab Library that implements the floating action button to sheet transition from Google's Material Design documentation. It can be used wi

Gordon Wong 1.6k Dec 13, 2022