Create your Button in onCreate(Bundle)
method:
Button button = new Button(this);
Find your DrawerLayout
:
mDrawerLayout = (DrawerLayout) findViewById(R.id.my_drawer_layout_id);
Set an OnClickListener
on this button:
button.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
mDrawerLayout.openDrawer(Gravity.LEFT);
}
)
This will give you an empty drawer. If you have a View
that you would like to place inside the drawer, replace:
mDrawerLayout.openDrawer(Gravity.LEFT);
with:
mDrawerLayout.openDrawer(myCustomView);
If you want the button to toggle the drawer(close the drawer if its open or, open it if its closed) use the following OnClickListener
:
button.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
if (mDrawerLayout.isDrawerOpen(Gravity.LEFT)) {
mDrawerLayout.closeDrawer(Gravity.LEFT);
} else {
mDrawerLayout.openDrawer(Gravity.LEFT);
}
}
)
If you are using a custom view, use this OnClickListener
:
button.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
if (mDrawerLayout.isDrawerOpen(myCustomView)) {
mDrawerLayout.closeDrawer(myCustomView);
} else {
mDrawerLayout.openDrawer(myCustomView);
}
}
)