关于SlidingMenu的使用
来源:互联网 发布:淘宝申请解冻保证金 编辑:程序博客网 时间:2024/05/29 07:38
SlidingMenu的使用
1 在Activity中使用
第一步 导入库文件 添加依赖库
第二步 new 一个slidingmenu
第三步 设置相应属性
第四步 设置slidingmenu显示的layout 并添加到activity上
final SlidingMenu sm=new SlidingMenu(this);
第三步
sm.setMode(SlidingMenu.LEFT);//设置slidingmenu划出的方向
sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);//设置可以滑出范围
sm.setShadowDrawable(R.drawable.shadow);//设置slidingmenu和主页面内容间的阴影效果
sm.setShadowWidthRes(R.dimen.slidingmenu_shadow_width);//设置阴影的宽度
sm.setBehindOffsetRes(R.dimen.slidingmenu_behindofset);//设置slidingmenu的宽度
//sm.setBehindWidth(200);
sm.setFadeEnabled(true);//允许设置渐变
sm.setFadeDegree(0.5f);//设置渐变的范围
第四步
sm.setMenu(R.layout.slidingmenu);//设置slidingmenu显示需要的layout
sm.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);//添加到activity上显示
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) { Toast.makeText(getApplicationContext(), "点击事件", 1).show(); sm.toggle();//动态开关,如果当前是打开的slidignmenu,就会关闭slidingmenu,反之亦然。 } });
2SlidingMneu+Fragment的使用
————————
添加滑动菜单的步骤:
第一步 获取滑动菜单
Slidingmenu sm=getSlidingmenu();
第二部 设置划出菜单的布局
第三部 设置划出菜单对应的fragment
第四步 设置互动菜单的属性
sm = getSlidingMenu(); //获取slidingmenu
//设置划出菜单的布局
setBehindContentView(R.layout.menu_fragment);
//设置滑动菜单布局对应的fragment
MenuLeftFragment leftFragment=new MenuLeftFragment();
getSupportFragmentManager().beginTransaction().replace(R.id.menu_fragment, leftFragment).commit();
//设置滑动菜单的一些属性
sm.setMode(SlidingMenu.LEFT_RIGHT);//设置slidingmeni从哪侧出现 两侧都有 如果右侧没有设置 只能设置为left
sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
sm.setShadowDrawable(R.drawable.shadow);
sm.setShadowWidthRes(R.dimen.shadow_width);
sm.setBehindOffsetRes(R.dimen.slidingmenu_offset);
sm.setFadeEnabled(true);
sm.setFadeDegree(0.5f);
第五步 设置右侧的滑动菜单
sm.setSecondaryMenu(R.layout.menu_right_fragment);
sm.setSecondaryShadowDrawable(R.drawable.shadow);
MenuRightFragment menu_right=new MenuRightFragment(); getSupportFragmentManager().beginTransaction().replace(R.id.menu_right_fragment,menu_right ).commit(); //设置actionbar getActionBar().setHomeButtonEnabled(true); getActionBar().setDisplayHomeAsUpEnabled(true);//显示向左指向的一个箭头 setSlidingActionBarEnabled(false); //设置slidingmenu上也有actionbar
两个重载方法设置actionbar和相应点击事件
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
return true;
}
//相应actionbar的点击事件@Overridepublic boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: //左侧响应的事件 sm.toggle(); break; case R.id.action_settings: //右侧 Toast.makeText(this, "点击了Actionbar item", 0).show(); //sm.toggle(); //((SlidingMenu)sm.getSecondaryMenu()).toggle(); sm.showSecondaryMenu(); //打开右侧菜单 break; default: break; } return super.onOptionsItemSelected(item);}
对应的
设置内容布局的默认fragment
contentFragment = new Fragement01();
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.content_fragment, contentFragment)
.commit();
如果需要点击滑动菜单中的条目更换主页面的布局 可以添加一个回调的方法
3.SlidingMenu和ViewPager滑动冲突的解决
滑动的时候不知道滑动的是滑动菜单还是viewpager的页面
private OnPageChangeListener changeListener = new OnPageChangeListener() {
@Override public void onPageSelected(int index) { switch (index) { case 0: sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); break; default: sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_NONE); break; } } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { // TODO Auto-generated method stub } @Override public void onPageScrollStateChanged(int arg0) { // TODO Auto-generated method stub }};
导入依赖库遇到的问题
出现问题解决:1复制slidingmenu中的v4包到项目中
2 项目—properties—order and Export
3 还不行的话把v7包删掉
导入libirary库文件是 有红色的x的话 不是路径不对 就是应该把库文件添加到工作空间中即可
1 file-import-Existing Android Code Into Workspase—库文件
2 库文件—propertice—android
3 添加依赖库
项目—properise—android—add—选择库文件—applay–ok
- 关于slidingmenu的使用
- 关于SlidingMenu的使用
- 关于侧滑SlidingMenu的使用
- 关于Slidingmenu的若干问题
- 关于使用开源项目SlidingMenu的问题
- 关于侧滑SlidingMenu的简单使用步骤
- 关于使用SlidingMenu时踩过的几个坑~~~
- android slidingmenu的使用
- SlidingMenu的使用例子
- slidingMenu的使用
- SlidingMenu的使用
- slidingMenu的使用教程
- SlidingMenu的使用
- slidingMenu的使用教程
- SlidingMenu的使用
- SlidingMenu的使用笔记
- SlidingMenu的使用
- SlidingMenu的使用
- 从Linux Deepin下小米2s刷机的“生”与“死”看Android手机的分区
- 更改远程桌面端口
- Xcode - 修改本地路径
- css去掉iPhone、iPad默认按钮样式
- 在linux系统环境下搭建网路服务器(三)
- 关于SlidingMenu的使用
- Objective-C学习笔记(十一)——break和continue的使用方法
- 1054. The Dominant Color (20)
- 局域网内通过ip获取对方计算机名
- 哈希算法快速查表的原理
- 最大熵模型
- 算法思想:假设与修正
- service 和 Controller 区别
- 通过PowerDesigner实现sql->pdm->sql