标签:
使用方法:
在Activity onCreate()中
resideMenu = new ResideMenu(this); resideMenu.setBackground(R.drawable.menu_background); resideMenu.attachToActivity(this); // create menu items; String titles[] = { "Home", "Profile", "Calendar", "Settings" }; int icon[] = { R.drawable.icon_home, R.drawable.icon_profile, R.drawable.icon_calendar, R.drawable.icon_settings }; for (int i = 0; i < titles.length; i++){ ResideMenuItem item = new ResideMenuItem(this, icon[i], titles[i]); item.setOnClickListener(this); resideMenu.addMenuItem(item, ResideMenu.DIRECTION_LEFT); // or ResideMenu.DIRECTION_RIGHT }
如果您需要使用手势滑动开启/关闭菜单,请复写activity的dispatchTouchEvent(),代码如下
public boolean dispatchTouchEvent(MotionEvent ev) { return resideMenu.dispatchTouchEvent(ev); }
在某些场景下,手势滑动开启/关闭菜单可能与您的某些控件产生冲突,例如viewpager,这时您可以把viewpager添加到ignored view.请参见下节Ignored Views resideMenu.setMenuListener(menuListener); private ResideMenu.OnMenuListener menuListener = new ResideMenu.OnMenuListener() { @Override public void openMenu() { Toast.makeText(mContext, "Menu is opened!", Toast.LENGTH_SHORT).show(); } @Override public void closeMenu() { Toast.makeText(mContext, "Menu is closed!", Toast.LENGTH_SHORT).show(); } };
禁止手势操作某个菜单方向
resideMenu.setSwipeDirectionDisable(ResideMenu.DIRECTION_RIGHT);
Ignored Views 在某些场景下,手势滑动开启/关闭菜单可能与您的某些控件产生冲突,例如viewpager,这时您可以把viewpager添加到ignored view. // add gesture operation‘s ignored views FrameLayout ignored_view = (FrameLayout) findViewById(R.id.ignored_view); resideMenu.addIgnoredView(ignored_view); 这样子在ignored_view操作的区域就不允许用手势滑动操作菜单.
Android源代码学习笔记:AndroidResideMenu-master
标签:
原文地址:http://www.cnblogs.com/wakerLight/p/5228651.html