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!

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
DSC Moi University session on using Navigation components to simplify creating navigation flow in our apps to use best practices recommended by the Google Android Team

Navigation Components Navigate between destination using safe args How to use the navigation graph and editor How send data between destinations Demo

Breens Mbaka 6 Feb 3, 2022
🎉 [Android Library] A light-weight library to easily make beautiful Navigation Bar with ton of 🎨 customization option.

Bubble Navigation ?? A light-weight library to easily make beautiful Navigation Bars with a ton of ?? customization options. Demos FloatingTopBarActiv

Gaurav Kumar 1.7k Dec 31, 2022
The flexible, easy to use, all in one drawer library for your Android project. Now brand new with material 2 design.

MaterialDrawer ... the flexible, easy to use, all in one drawer library for your Android project. What's included ?? • Setup ??️ • Migration Guide ??

Mike Penz 11.6k Dec 27, 2022
A flexible, easy to use, unique drawer library for your Android project.

Duo Navigation Drawer This Android library provides an easy way to create an alternative navigation drawer for android. Instead of a drawer that slide

PSD 1.1k Dec 21, 2022
Xdimen - Support multiple screen sizes easily by scaling your dimensions

Support multiple screen sizes easily by scaling your dimensions. How does Xdimen work? When you have a UI design with a specific dimension, and

Islam Khaled 38 Dec 8, 2022
Navigation Component: THE BEST WAY to create navigation flows for your app

LIVE #017 - Navigation Component: A MELHOR FORMA de criar fluxos de navegação para o seu app! Código fonte do projeto criado na live #017, ensinando c

Kaique Ocanha 4 Jun 15, 2022
A library that you can use for bottom navigation bar. Written with Jetpack Compose

FancyBottomNavigationBar A library that you can use for bottom navigation bar. W

Alperen Çevlik 3 Jul 27, 2022
A sleek, out of the box, easy to understand and use, swipe gesture based Navigational Library for android.

Facilis Swipe gesture based navigational library for Android. Watch Demo Video: Getting Started To get this project into your build: Gradle Add it in

Prem Suman 35 Feb 15, 2022
A small navigation library for Android to ease the use of fragment transactions & handling backstack (also available for Jetpack Compose).

A small navigation library for Android to ease the use of fragment transactions & handling backstack (also available for Jetpack Compose).

Kaustubh Patange 88 Dec 11, 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
A customizable and easy to use BottomBar navigation view with sleek animations, with support for ViewPager, ViewPager2, NavController, and badges.

A customizable and easy to use BottomBar navigation view with sleek animations, with support for ViewPager, ViewPager2, NavController, and badges.

Joery Droppers 1000 Dec 5, 2021
Android Navigation Fragment Share Element Example: Use Share Element Transition with recyclerView Item and ViewPager2 Item.

Android-Navigation-Fragment-Share-Element-Example 说明 Android 使用Navigation导航切换Fragment中使用共享元素过渡动画的例子:将在listFragment的RecyclerView的Item共享元素过渡到pagerFragme

null 3 Sep 28, 2022
NavigationAndFragments - A use case for fragments and navigation

NavigationAndFragments A use case for fragments and navigation. To implement this use case, follow these steps : Create a new fragment navigation xml

Google Developers 3 Sep 15, 2022
Use Fragment like Activity

Fragivity : Use Fragment like Activity English | 中文文档 Fragivity is a library used to build APP with "Single Activity + Multi-Fragments" Architecture R

fundroid 278 Nov 22, 2022
Android Library for making animated tutorials inside your app

##SlidingTutorial Cleveroad introduces Sliding Tutorial Library for Android Hey guys, hope you haven’t started developing a tutorial for your Android

Cleveroad 2.5k Dec 31, 2022
Alligator is a modern Android navigation library that will help to organize your navigation code in clean and testable way.

Alligator Alligator is a modern Android navigation library that will help to organize your navigation code in clean and testable way. Features Any app

Artur Artikov 290 Dec 9, 2022
A lightweight library to help you navigate in compose with well typed functions.

TypedNavigation A lightweight library to help you navigate in compose with well typed functions. Installation: You can add this library to your projec

xmartlabs 23 Apr 7, 2022
A small and simple, yet fully fledged and customizable navigation library for Jetpack Compose

A small and simple, yet fully fledged and customizable navigation library for Jetpack Compose

Vitali Olshevski 290 Dec 29, 2022
The Words app is a simple dictionary app, with a list of letters, words for each letter, and the ability to look up definitions of each word in the browser.

Words App This folder contains the source code for the Words app codelab. Introduction Words app allows you to select a letter and use Intents to navi

Lynne Munini 2 Oct 11, 2022