AdvancedMaterialDrawer alternatives and similar packages
Based on the "Material Widget" category.
Alternatively, view AdvancedMaterialDrawer alternatives based on common mentions on social networks and blogs.
-
material-design-icons
Material Design icons by Google -
material-dialogs
😍 A beautiful, fluid, and extensible dialogs API for Kotlin & Android. -
MaterialDesignLibrary
This is a library with components of Android L to you use in android 2.2 -
MaterialDrawer
The flexible, easy to use, all in one drawer library for your Android project. Now brand new with material 2 design. -
MaterialViewPager
A Material Design ViewPager easy to use library -
android-floating-action-button
Floating Action Button for Android based on Material Design specification -
RippleEffect
Implementation of Ripple effect from Material Design for Android API 9+ -
Carbon
Material Design implementation for Android 4.0+. Shadows, ripples, vectors, fonts, animations, widgets, rounded corners and more. -
material-menu
Animations for Android L drawer, back, dismiss and check icons -
materialish-progress
A material style progress wheel compatible with 2.3 -
material-ripple
Android L Ripple effect wrapper for Views -
MaterialDialog
An Android library for conveniently building Material Design Dialog in Android version 2.2 ~ L. -
MaterialProgressBar
Material Design ProgressBar with consistent appearance -
MaterialNavigationDrawer
Navigation Drawer Activity with material design style and simplified methods -
MaterialList
An Android library aimed to get the beautiful CardViews that Google shows at its official design specifications -
material-range-bar
Android widget for selecting a range of values. -
MaterialTabs
Custom Tabs with Material Design effects. It requires 14+ API and android support v7 (Toolbar) -
LDrawer
Android drawer icon with material design animation -
MaterialEverywhere
Showcase of the new AppCompat 21, which includes new Material Theme, working in pre-21 devices. -
snackbar
[DEPRECATED] Android Library that implements Snackbars from Google's Material Design documentation. -
Horizontal Calendar
A material horizontal calendar view for Android based on RecyclerView -
AndroidMaterialDesignToolbar
Android Sample Project with Material Design and Toolbar. -
MaterialPowerMenu
A demo of the power menu with Reveal and other animations -
CircularProgressView
A Material style circular progress bar for Android -
Material Dialogs for Android 📱
📱Android Library to implement animated, 😍beautiful, 🎨stylish Material Dialog in android apps easily. -
material-drawer
Custom drawer implementation for Material design apps. -
ZDepthShadowLayout
Android - draw z-depth shadow of MaterialDesign -
android-materialshadowninepatch
Provides 9-patch based drop shadow for view elements. Works on API level 9 or later. -
uberprogressview
:hourglass_flowing_sand: An android progress view developed after taking inspiration from Uber app. -
Android-Material-circular-button
Animated Material circular button -
Android-DialogFragments
Various DialogFragments for Android.
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 AdvancedMaterialDrawer or a related project?
README
AdvancedMaterialDrawer
A Gmail-like Material Drawer implementation
Based on neokree's MaterialDrawer library, but they are not the same. I have made many improvments, changes and added a lot of new features. Big thanks to neokree, without him this library would not exist.
Main Features:
Different Drawer types
- HeadItem (f.e. screenshot 1)
- No header (f.e. screenshot 6)
- Only Image in header (see example tool)
- Create your own header style (screenshot 7)
Head Item (Account):
- Unlimited Head-Items (Accounts), tested with 100 Head-Items
- Head-Item listeners for Avatar or Background taps
- Adding and removing Head-Items at runtime
- Every Head-Item can have its own menu
- Create your own Head-Item style (Custom Head-Item)
- Or no Head-Item, if you need only the menu
Menu:
- Menu with unlimit Menu-Items
- Adding and removing Menu-Items at runtime
- Only icon menu (screenshot 8)
- Available Menu-items:
- Labels
- Divider
- Normal Sections
- can call new fragment, activity or implements own onClick
- with and without icon
- with notification number
- Only Icon
- can call new fragment, activity or implements own onClick
- Bottom-Sections
- same as normal section
- Custom Sections ! (add your own section implementation, like a checkbox etc.) see screenshot 5
Fully themeable (screenshot 11)
Other:
- Drawer can be over and below the toolbar
- Tablet support
- Toolbar overflow support, so a image can be your background. (screenshot 9)
- Many many more: Setting your own Fragment on Start, etc. Play with the example app ;).
- The screenshots doesn't show all functions, you can do many more with the lib.
Write your own header Class
Many Many more
Live Demo (Lib-Version 2.0.0 (17.07.15))
You can test the example application in your web browser. https://appetize.io/app/dqmyynvjanx9hydtq4a4vjbkzw
Example APK (Lib-Version 2.0.0 (17.07.15))
https://github.com/madcyph3r/AdvancedMaterialDrawer/raw/master/example-release.apk
or on the play store (Lib-Version 2.0.0 (17.07.15))
Download
repositories {
maven { url 'http://dl.bintray.com/madcyph3r/maven/' }
}
dependencies {
compile 'de.madcyph3r:materialDrawer:[email protected]'
}
Dependencies
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.nineoldandroids:library:2.4.0'
Usage
There are a lot of examples with explanations, how to use the library, here is a small example with one Head-Item. You will get the result from screenshot 1. You see, it's easy :)
public class HeadItemOneActivity extends MaterialNavHeadItemActivity {
MaterialNavigationDrawer drawer = null;
@Override
protected boolean finishActivityOnNewIntent() {
return false;
}
@Override
protected int getNewIntentRequestCode(Class clazz) {
return 0;
}
@Override
public void init(Bundle savedInstanceState) {
drawer = this;
// information text for the fragment
Bundle bundle = new Bundle();
bundle.putString("instruction", "This example shows the head item style.");
Fragment fragmentInstruction = new FragmentInstruction();
fragmentInstruction.setArguments(bundle);
// create menu
MaterialMenu menu = new MaterialMenu();
menu.add(new MaterialItemSectionFragment(this, "Instruction", fragmentInstruction, "Head Item Style (One Item)"));
menu.add(new MaterialItemSectionFragment(this, "Section 1", new FragmentDummy(), "Section 1"));
menu.add(new MaterialItemSectionFragment(this, "Section 2", new FragmentDummy(), "Section 2"));
menu.add(new MaterialItemSectionFragment(this, "Section 3", new FragmentDummy(), "Section 3"));
// create Head Item
// use bitmap and make a circle photo
final Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.yourAvatar);
final RoundedCornersDrawable drawableAppIcon = new RoundedCornersDrawable(getResources(), bitmap);
MaterialHeadItem headItem = new MaterialHeadItem(this, "My HeadItem", "My Subtitle", drawableAppIcon, R.drawable.yourBackground, menu);
this.addHeadItem(headItem);
// load menu
this.loadMenu(getCurrentHeadItem().getMenu());
// load the first MaterialItemSectionFragment from the menu
this.loadStartFragmentFromMenu(getCurrentHeadItem().getMenu());
}
@Override
public void afterInit(Bundle savedInstanceState) {
}
}
From <= 1.1.4 to 2.0.0
I have changed a lot of names and methods. Sorry for that. But now its a lot easier to use this library. The methods name and parameters make more sense. Better abstraction level for the menu items and drawer types. A really better code understanding. Please look in the examples, for the code changes. Then edit your code to the new code base.
Others
- If you've found an issue, look up the open issues and submit a new one if it isn't yet reported.
- If you like the library press the star ;)
- A Wiki with some Introduction will come soon.