滑动菜单是比较常用的控件,github上有开源的比较好的例子。
使用步骤
1. 下载slidemenu的工程作为library导入到eclipse中
\SlidingMenu-master\SlidingMenu-master\library
2. 下载actionbarSherlock的工程作为libray导入eclipse中, 并且作为slidemenu的依赖库。
https://github.com/JakeWharton/ActionBarSherlock
3.新建自己的工程,并把slidemenu作为工程的依赖库。新建工作时选择minSdkVersion 为14, 不然会生成supportv7的依赖库,会与slidemenu库冲突。
4.使用slidemenu如下、
public class SlidingExample1 extends SlidingFragmentActivity {
private Fragment lFrag;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//设置主页视图
setContentView(R.layout.content_frame);
// 设置菜单栏
setBehindContentView(R.layout.menu_frame);
if (savedInstanceState == null) {
FragmentTransaction t = this.getSupportFragmentManager()
.beginTransaction();
lFrag = new LeftMenuFragment();
t.replace(R.id.menu_frame, lFrag);
t.commit();
} else {
lFrag = (ListFragment) this.getSupportFragmentManager()
.findFragmentById(R.id.menu_frame);
}
// customize the SlidingMenu
SlidingMenu sm = getSlidingMenu();
/**设置滑动菜单的模式
* SlidingMenu.LEFT 从左侧滑动
* SlidingMenu.RIGHT 从右侧滑动
* SlidingMenu.LEFT_RIGHT 左右都可滑动
*/
sm.setMode(SlidingMenu.LEFT);
/**设置滑动触摸的模式
SlidingMenu.TOUCHMODE_FULLSCREEN 全屏可以滑动
SlidingMenu.TOUCHMODE_MARGIN 从边缘滑动
SlidingMenu.TOUCHMODE_NONE 无法滑动
*/
sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
/**设置滑动菜单视图展开的比例位置
* 0 和1是从最边缘位置展开,与滑动方向一置
* 0-1之间是从中间向两边展开
*/
sm.setBehindScrollScale(0.35f);
/**
* 设置菜单的偏移量
*/
//sm.setBehindOffset(200);
sm.setBehindOffsetRes(R.dimen.slidingmenu_offset);
/**
* 设置菜单的宽度
*/
sm.setBehindWidth(600);
/**
* 设置阴影的宽度
*/
sm.setShadowWidth(50);
//sm.setShadowDrawable(R.drawable.shadow);
/**
* 设置渐变的程度
* 0 没有渐变,0 ——>1 由暗变亮
*/
sm.setFadeDegree(0.35f);
/**设置右侧菜单**/
sm.setMode(SlidingMenu.LEFT_RIGHT);
sm.setSecondaryMenu(R.layout.fragment_rightfragment);
}