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);
}
}