我们现在开始先把侧滑栏做出来,再做底部。
我们上次已把侧滑菜单的library引进来了,现在我们要去用这个东西。
我要用它的话,MainActivity 就不能继承Activity了,而是继承SlidingFragmentActivity
现在我们来分析1下
(1)其实setContentView(R.layout.activity_main);这句代码只是把activity_main.xml这个界面给显现出来,了,这个同样成为内容页,然后内容页有1个按钮点1下就出来1个东西,这个才是侧滑菜单。
(2)我们已有setContentView了,然后呢我们也得把setBehindContentView也就是隐藏的侧滑菜单的View设计出来。
下面我们先来写1下这个侧滑菜单的布局menu.xml
要想使用侧滑菜单,要先得到侧滑菜单,下面我们来分析1下使用侧滑菜单要那些步骤,要做哪些事情。
1、得到侧滑菜单
SlidingMenu sm = getSlidingMenu();
2、设置侧滑菜单是从左侧出来还是从右侧出来
sm.setMode(SlidingMenu.LEFT);
3、设置滑动菜单出来以后,内容页 , 显示的剩余宽度
sm.setBehindWidthRes(R.dimen.slidingmenu_offset);
4、设置滑动菜单的阴影, 设置阴影,阴影需要开始的时候,特别暗,渐渐的变淡
sm.setShadowDrawble(R.drawable.shadow);
5、设置阴影的宽度
sm.setShadowWidth(R.dimen.shadow_width);
6、设置滑动菜单的范围
//第1个参数SlidingMenu.TOUCHMODE_FULLSCREEN 可以全屏滑动
//第2个参数SlidingMenu.TOUCHMODE_MARGIN 只能在边沿滑动
//3个参数SlidingMenu.TOUCHMODE_NONE 不能滑动
sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
(3) 经过上面1系列的方法调用,我们就把滑动菜单集成进来了。现在我们要做的就是初始化滑动菜单里面的数据。建立1个包放fragment。
我们建立1个MenuFragment类来继承Fragment 。然后我们重写里面的3个方法,分别是onActivityCreated(); onCreate(); onCreateView();
然后我们建立菜单内容视图,也就是1个ListView。
接着,在onCreateView();方法里面使用LayoutInflater把list_view.xml加载进来,
view = LayoutInflater.from(getActivity()).inflate(R.id.list_view,null);
return view; //注意:Fragment的上下文是通过getActivity()来获得的
注意: 学习Fragment首先要深入了解Fragment的生命周期。(可查阅官方文档)
Fragment其实不能独立存在,它是依附于Activity,然后呢,也就是说它的生命周期的方法跟Activity很像,Fragment先走的是onCreate()方法,然后再走onCreateView();方法,然后再走onActivityCreated();
接着上面,我们在onActivityCreated()把ListView的数据通过Adapter加载进来,如果数据不多,简单,可以斟酌直接用系统的Adapter,我们可以定义1个ArrayAdapter<String>就好了,然后给该Adapter中传1个List<String>。
最后,我们想用这个Fragment,那末我们就在MainActivity里面new1个Fragment,然后我们可以通过getSupportFragmentManager()开启1个事务,然后去替换。有3个参数,第1个是我要替换的ID,第2个是我要替换的Fragment,第3个就是给它1个绑定的值。
通过1系列的操作,我们的SlideMenu+Fragment就完成了。