package net.simonvt.menudrawer.samples; import java.util.ArrayList; import java.util.List; import net.simonvt.menudrawer.MenuDrawer; import net.simonvt.menudrawer.Position; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ListView; import android.widget.TextView; import com.example.androidmenusample.R; public class StaticDrawerSample extends Activity implements MenuAdapter.MenuListener { private static final String STATE_ACTIVE_POSITION = "net.simonvt.menudrawer.samples.LeftDrawerSample.activePosition"; private static final String STATE_CONTENT_TEXT = "net.simonvt.menudrawer.samples.LeftDrawerSample.contentText"; private MenuDrawer mMenuDrawer; private MenuAdapter mAdapter; private ListView mList; private int mActivePosition = -1; private String mContentText; private TextView mContentTextView; @Override protected void onCreate(Bundle inState) { super.onCreate(inState); if (inState != null) { mActivePosition = inState.getInt(STATE_ACTIVE_POSITION); mContentText = inState.getString(STATE_CONTENT_TEXT); } mMenuDrawer = MenuDrawer.attach(this, MenuDrawer.Type.STATIC, Position.START, MenuDrawer.MENU_DRAG_CONTENT); mMenuDrawer.setContentView(R.layout.activity_contentsample); mMenuDrawer.setAllowIndicatorAnimation(true); List<Object> items = new ArrayList<Object>(); items.add(new Item("Item 1", R.drawable.ic_action_refresh_dark)); items.add(new Item("Item 2", R.drawable.ic_action_select_all_dark)); items.add(new Category("Cat 1")); items.add(new Item("Item 3", R.drawable.ic_action_refresh_dark)); items.add(new Item("Item 4", R.drawable.ic_action_select_all_dark)); items.add(new Category("Cat 2")); items.add(new Item("Item 5", R.drawable.ic_action_refresh_dark)); items.add(new Item("Item 6", R.drawable.ic_action_select_all_dark)); mList = new ListView(this); mAdapter = new MenuAdapter(this, items); mAdapter.setListener(this); mAdapter.setActivePosition(mActivePosition); mList.setAdapter(mAdapter); mList.setOnItemClickListener(mItemClickListener); mMenuDrawer.setMenuView(mList); mContentTextView = (TextView) findViewById(R.id.contentText); mContentTextView.setText(mContentText); } private AdapterView.OnItemClickListener mItemClickListener = new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { mActivePosition = position; mMenuDrawer.setActiveView(view, position); mContentTextView.setText(((TextView) view).getText()); } }; @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putInt(STATE_ACTIVE_POSITION, mActivePosition); outState.putString(STATE_CONTENT_TEXT, mContentText); } @Override public void onActiveViewChanged(View v) { mMenuDrawer.setActiveView(v, mActivePosition); } }