package net.simonvt.menudrawer.samples;
import net.simonvt.menudrawer.MenuDrawer;
import net.simonvt.menudrawer.Position;
import android.os.Build;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
import com.example.androidmenusample.R;
public class RightDrawerSample extends BaseListSample {
private static final String STATE_CONTENT_TEXT = "net.simonvt.menudrawer.samples.RightDrawerSample.contentText";
private static final int MENU_OVERFLOW = 1;
private String mContentText;
private TextView mContentTextView;
@Override
protected void onCreate(Bundle inState) {
super.onCreate(inState);
if (inState != null) {
mContentText = inState.getString(STATE_CONTENT_TEXT);
}
mMenuDrawer.setContentView(R.layout.activity_contentsample);
mContentTextView = (TextView) findViewById(R.id.contentText);
mContentTextView.setText(mContentText);
}
@Override
protected void onMenuItemClicked(int position, Item item) {
mContentTextView.setText(item.mTitle);
mMenuDrawer.closeMenu();
}
@Override
protected int getDragMode() {
return MenuDrawer.MENU_DRAG_CONTENT;
}
@Override
protected Position getDrawerPosition() {
return Position.END;
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString(STATE_CONTENT_TEXT, mContentText);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuItem overflowItem = menu.add(0, MENU_OVERFLOW, 0, null);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
overflowItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
}
overflowItem.setIcon(R.drawable.ic_menu_moreoverflow_normal_holo_light);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case MENU_OVERFLOW:
mMenuDrawer.toggleMenu();
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public void onBackPressed() {
final int drawerState = mMenuDrawer.getDrawerState();
if (drawerState == MenuDrawer.STATE_OPEN || drawerState == MenuDrawer.STATE_OPENING) {
mMenuDrawer.closeMenu();
return;
}
super.onBackPressed();
}
}