首页 > 代码库 > (3)SlidingMenu开源框架的SlideMenu在项目的使用方法+Fragment

(3)SlidingMenu开源框架的SlideMenu在项目的使用方法+Fragment

我们现在开始先把侧滑栏做出来,再做底部。

1、侧滑菜单

我们上次已经把侧滑菜单的library引进来了,现在我们要去用这个东西。

我要用它的话,MainActivity 就不能继承Activity了,而是继承SlidingFragmentActivity

现在我们来分析一下

      (1)其实setContentView(R.layout.activity_main);这句代码只是把activity_main.xml这个界面给呈现出来,了,这个也成为内容页,然后内容页有一个按钮点一下就出来一个东西,这个才是侧滑菜单。

     (2)我们已经有setContentView了,然后呢我们也得把setBehindContentView也就是隐藏的侧滑菜单的View设计出来。

 下面我们先来写一下这个侧滑菜单的布局menu.xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/menu_frame">
</FrameLayout>

要想使用侧滑菜单,要先得到侧滑菜单,下面我们来分析一下使用侧滑菜单要那些步骤,要做哪些事情。

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、设置滑动菜单的范围

//第一个参数SlidingMenu.TOUCHMODE_FULLSCREEN    可以全屏滑动

//第二个参数SlidingMenu.TOUCHMODE_MARGIN    只能在边沿滑动

//三个参数SlidingMenu.TOUCHMODE_NONE    不能滑动

sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);


(3)经过上面一系列的方法调用,我们就把滑动菜单集成进来了。现在我们要做的就是初始化滑动菜单里面的数据。建立一个包放fragment。

        我们建立一个MenuFragment类来继承Fragment。然后我们重写里面的3个方法,分别是onActivityCreated();onCreate(); onCreateView();

然后我们建立菜单内容视图,也就是一个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,我们可以定义一个ArrayAdapter<String>就行了,然后给该Adapter中传一个List<String>。

最后,我们想用这个Fragment,那么我们就在MainActivity里面new一个Fragment,然后我们可以通过getSupportFragmentManager()开启一个事务,然后去替换。有3个参数,第一个是我要替换的ID,第二个是我要替换的Fragment,第三个就是给它一个绑定的值。

通过一系列的操作,我们的SlideMenu+Fragment就完成了。











(3)SlidingMenu开源框架的SlideMenu在项目的使用方法+Fragment