Skip to content
Projects

SimonVT/android-menudrawer

View on GitHub

SimonVT/android-menudrawer has 2,568 GitHub stars and 1,097 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-07 20:48 UTC. Last push 2014-06-30.

How these counts are measured

*DEPRECATED* A slide-out menu implementation, which allows users to navigate between views in your app.

What you can do

  • The menu can be positioned along all four edges.
  • Supports attaching an always visible, non-draggable menu, which is useful on e.g. tablets.
  • The menu can wrap both the content and the entire window.
  • Allows the drawer to be opened by dragging the edge, the entire screen or not at all.

Measured star growth

in 24h
0
in 7 days
Collecting history
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

MenuDrawer

A slide-out menu implementation, which allows users to navigate between views in your app. Most commonly the menu is revealed by either dragging the edge of the screen, or clicking the 'up' button in the action bar.

Features

  • The menu can be positioned along all four edges.
  • Supports attaching an always visible, non-draggable menu, which is useful on e.g. tablets.
  • The menu can wrap both the content and the entire window.
  • Allows the drawer to be opened by dragging the edge, the entire screen or not at all.
  • Can be used in XML layouts.
  • Indicator that shows which screen is currently visible.

Usage

This library is very simple to use. It requires no extension of custom classes, it's simply added to an activity by calling one of the MenuDrawer#attach(...) methods.

For more examples on how to use this library, check out the sample app.

Left menu

public class SampleActivity extends Activity {

    private MenuDrawer mDrawer;

    @Override
    protected void onCreate(Bundle state) {
        super.onCreate(state);
        mDrawer = MenuDrawer.attach(this);
        mDrawer.setContentView(R.layout.activity_sample);
        mDrawer.setMenuView(R.layout.menu_sample);
    }
}

Right menu

public class SampleActivity extends Activity {

    private MenuDrawer mDrawer;

    @Override
    protected void onCreate(Bundle state) {
        super.onCreate(state);
        mDrawer = MenuDrawer.attach(this, Position.RIGHT);
        mDrawer.setContentView(R.layout.activity_sample);
        mDrawer.setMenuView(R.layout.menu_sample);
    }
}

Including in your project

Either include it in your project as an android library project, or use gradle to grab it from maven central:

compile 'net.simonvt.menudrawer:menudrawer:{latest-version}'

Credits

  • Cyril Mottier for his articles on the pattern

License

Copyright 2012 Simon Vig Therkildsen

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.

Explore related projects