Android侧滑SliddingMenu+Activity详解

来源:互联网 发布:exe mac要怎么打开 编辑:程序博客网 时间:2024/05/18 01:47

Android侧滑SliddingMenu+Activity详解

    最近在写一个项目的时候需要用到侧滑效果,本想用View自己写一个,但是时间太紧就想着用开源项目。SliddingMenu算是Android在侧滑效果的开源项目里面用的比较多的了,制灵活、各种阴影和渐变的滑动效果也很不错。但是网上关于SliddingMenu的博客基本上都是将主界面类继承SlidingFragmentActivity,将侧滑界面写成fragment实现的。但是笔者是在项目已经写了大半,继承了activity的主界面已经全部完成的情况下临时需要加入侧滑功能的,这时修改代码工程量太大。于是笔者采用了另外一种方法,主类依旧继承activity,侧滑界面作为主界面的组件存在,实现了需要的功能。

    下面是实现侧滑的效果,分别是左侧滑和右侧滑:

    要想能够实现SlidingMenu的效果,首先必须要将它作为libary导入到你的工程,先看一下它的目录结构,如图:

    这里面的代码我就不详细讲解了,主要是教大家怎么直接拿过来用,不过博主对代码进行了一些非常详细的注

释,有兴趣的同学可以好好学习研究一下。

   SliddingMenu的代码托管地址:https://github.com/jfeinstein10/SlidingMenu

   1、下载完毕之后,将此项目导入Eclipse开发环境中,然后执行如下几个步骤:

    <1> 点击右键,点击“Import”按钮,弹出对话框选项;

    <2> 选中“Existing Projects into Workspace”选项;

    <3> 再单击“Browser”按钮后,弹出选项项目对话框,选中要导入的项目;


    <4> 点击“Finish”完成。

    2、导入项目之后,然后在新建一个Android项目,将slidingmenu_library导入新 建的Android项目中,步骤如下:

    <1> 右键点击新建的Android项目,然后点击最下方的“Properties”选项;

    <2> 点击弹出对话框之后,在最左侧选择“Android”选项,然后再点击右下方的“Add”按钮;

    <3> 点击后弹出对话框,选中之前导入的slidingmenu_library项目;

    <4> 选中之后如图所示;

    <5> 这就说明了导入库已经成功了,导入成功之后会在Android的引用包中出现一个slidingmenu_library.jar包;

                       注意:这里有个地方需要大家特别注意一下,在新建完Android项目之后,较新的Eclipse版本都会在Android目录下生成一个libs的文件夹,里面会有一个android-support-v4.jar的jar包,这个jar一定要记得删掉,否则运行程序的时候

会出现异常,提示是找不到类的异常,博主在这个地方纠结了好长时间。最后发现出现异常的原因是因为在导入slidingmenu_library类库的时候,这个类库里面本身就包含了android-support-v4.jar的jar包,所以运行的时候就会出

现异常,系统不知道去调用哪个路径的下的包,所以程序崩溃,提示找不到类。

    额.....由于我比较懒,以上配置过程来自http://www.apkbus.com/android-126228-1-1.html的博客.....声明一下。

    好了,配置好环境就开始进入主题,用SliddingMenu+Activity非常简单,简单到几行代码就可以实现,由于整个项目的代码较多,我就节选一下其中涉及侧滑的代码如下:

public class Main_Activity extends Activity{protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//主界面布局文件SlidingMenu menu = new SlidingMenu(this);// 直接new,而不是getSlidingMenumenu.setMode(SlidingMenu.LEFT_RIGHT);//设置滑动模式为左滑动+右滑动menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);//设置滑动范围为全屏皆可滑动menu.setShadowDrawable(R.drawable.shadow);//设置侧滑界面与主界面之间的阴影图像menu.setShadowWidthRes(R.dimen.shadow_width);//设置阴影宽度menu.setBehindWidth(550);// 设置SlidingMenu菜单的宽度menu.setFadeDegree(0.55f);//设置渐变效果menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);// 必须调用menu.setMenu(R.layout.slidingmenu_left);// 就是普通的layout布局menu.setSecondaryMenu(R.layout.sliddingmenu_right);//设置右侧滑的布局文件menu.setSecondaryShadowDrawable(R.drawable.shadow);//设置右侧滑的布局效果}

    因为侧滑菜单是作为主界面的组件存在的,所以你完全可以在主界面进行一个findviewbyid来获得其中的按钮等控件对象,和主界面上的其他控件调用没有区别,在这一点还是非常实用和方便的。



https://github.com/jfeinstein10/SlidingMenu
0 0
原创粉丝点击