How to add Navigation Drawer to all the activities in the application?

android, android-layout

Solution

Is it possible somehow to add Nav. Drawer in BaseActivity(custom class) and then every other activity will extend BaseActivity inorder to have the Navigation Drawer ?

Yes this is definitly the cleanest way to go.

public BaseActivity extends Activity {
    @Override
    protected void onCreate()
        super.onCreate(); // calls Activity.onCreate()
        // setup your Navigation Drawer
}

public FirstActivity extends BaseActivity {
    @Override
    protected void onCreate()
        super.onCreate(); // will call the BaseActivitiy.onCreate()
        // do something in the FirstActivity

}

public SecondActivity extends BaseActivity {
    @Override
    protected void onCreate()
        super.onCreate(); // will call the BaseActivitiy.onCreate()
        // do something in the SecondActivity
}

The "hard work" will be the layouts. Have one baseLayout for the BaseActivity with a place holder for the Content View (the visible part of the Activities). For all other Activitys use this layout and include your Content View.

Problem

Whats the efficient way to add Navigation Drawer on all the activities? I don't want to repeat the code for Navigation Drawer in all the activities and their layouts. Is it possible somehow to add Nav. Drawer in BaseActivity(custom class) and then every other activity will extend BaseActivity inorder to have the Navigation Drawer ?

Original source

Related problems