SlidingMenu和Fragment的总结
2015-05-31 10:36
351 查看
目的:点击SlidingMenu列表每一项的时候,让主页面显示该项对应的Fragment 1.实现Slidingmenu滑出的效果 2.实现slidingmenu里的LeftMenuFragment里的listview 3.点击listview的item的时候,通知主界面显示当前对应的fragment ActionbarSherlock运行在3.0一下的手机上,会报错,要求将当前的activity的主题设置为ActionbarSherlock要求的主题 android:theme="@style/Theme.Sherlock.Light" SlidingMenu使用方式的不同 得到Slidingmenu对象 Activity:获得SlidingMenu对象是 new SlidingMenu(); Fragment: Activity 继承 SlidingFragmentActivity 通过getSlidingMenu得到 SlidingMenu对象 设置SlidingMenu使用的布局的区别 Activity:sm.setMenu(layout res_id); Fragment: //设置SlidingMenu的layout setBehindContentView(R.layout.menu_frame); FramLayout用来装载Fragment的 继承SlidingFragmenActivity使用的布局文件是一个全屏的 FragmentLayout 用来动态装载 SlidingMenu的主界面的内容也是Fragment显示 Fragment使用SlidingMenu的时候给主界面指定显示的Fragment //设置当前的fragment this.getSupportFragmentManager()//拿到fragment管理器 .beginTransaction()//fragment的事务管理 .replace(R.id.content_frame, contentFragment)//1.layout的id 2.要显示fragment的实例 .commit(); 给SlidingMenu指定显示Fragment的方法 //设置menu的fragment leftFragment = new LeftFragment(); this.getSupportFragmentManager() .beginTransaction() .replace(R.id.menu_frame, leftFragment) .commit(); 设置SlidingMenu必要的参数和属性 /设置SlidingMenu属性和layout sm = getSlidingMenu();//得到SlidingMenu的对象 sm.setMode(SlidingMenu.LEFT_RIGHT);//设置slidingmenu滑动的方式 sm.setShadowDrawable(R.drawable.shadow);//设置slidingmenu边界的阴影图片 sm.setShadowWidthRes(R.dimen.shadow_width);//设置阴影的宽度 sm.setBehindOffsetRes(R.dimen.slidingmenu_offset);//设置slidingmenu宽度 // sm.setBehindWidth(400);//设置slidingmenu宽度 sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);//设置滑出slidingmenu范围 sm.setMenu(R.layout.menu_frame);//设置slidingmen显示的layout的id sm.setBehindCanvasTransformer(canvasTransformer3);//设置slidingmenu动画 SlidingMenu支持右侧划出 //设置右侧的slidingmenu sm.setSecondaryMenu(R.layout.menu_frame_right); sm.setSecondaryShadowDrawable(R.drawable.shadowright); 还需要重新设置 sm.setMode(SlidingMenu.LEFT_RIGHT);//设置slidingmenu滑动的方式 //设置右侧滑出的slidingmenu RightFragment rightFragment = new RightFragment(); this.getSupportFragmentManager() .beginTransaction() .replace(R.id.menu_frame_right, rightFragment) .commit(); 显示ActionBar相关 //设置在slidingmenu页显示ActionBar setSlidingActionBarEnabled(false); //是ActionBar的图标可以被点击 getSupportActionBar().setHomeButtonEnabled(true); //启用向左的图标 getSupportActionBar().setDisplayHomeAsUpEnabled(true);
相关文章推荐
- Oracle学习(7):集合运算
- VS2010 C++ MFC框架学习笔记3 - 控件Tab顺序设置及模态对话框
- iOS开发 SQLite的创建数据库,表,插入查看数据
- openstack
- 【C# 基础】访问级别
- leetcode Contains Duplicate
- Git入门本地常见配置与操作
- 微软100题(44)几道腾讯面试题
- [BI项目记]-DB脚本同步
- UITabBar 蓝色
- 【leetcode】Text Justification
- fedora10设置静态IP
- Houdini中全景摄像机shader立体左右眼成像方法
- storm的学习
- Effective C ++ 条款34
- Windows编程陷阱之 *
- Ural 1018 binary apple tree(显性树的树dp)
- PHP面向过程方式操作数据库(扩展增强库MySQLi)
- python str.translate()函数用法
- wpf任务