还是项目中学到的东西,我们在很多的应用中都能看到侧滑菜单的使用,如下图所示:
首先要达到如上图所示的效果,我们可以找到高手写的slidingMenu的开源代码下载下来,我们需要用它,下载地址我会放到文章后,sliding_menu下载下来是一个工程项目,在此与普通的引包复制黏贴都不一样,在此讲述一下配置情况,很简单
1 把下载好的Sliding_menu当工程导入到开发工具中(我用的是Myeclipse)
在工程项目栏中——>右键——>Import->Existing Projects into WorkSpace->Browse(选择下载好的sliding_menu文件)->然后点Finish
这样Sliding_menu项目就被引入了如图
2 接下来新建项目cehuacaidan
然后就是Sliding_Menu的配置问题,在cehuacaidan项目上点右击->
点击Properties->在点击Android->
点击Add->
---->点击slidingmenu_library->点OK
点击Apply->点击OK 这个时候就把Slingding_menu加入到了cehuacaidan这个项目中,紧接着控制台就会出现这样的错误,如下图
问题出在这个android-support-v4.jar这个jar包出现在这个项目的两个地方,运行时程序不知道执行哪一处的jar包,所以根据错误的提示,在提示的路径下找到jar包,然后删掉,随便一个都可以,删掉之后无错误,这时sliding_menu就能在cehuacaidan项目中使用了(上面是另外一个叫做TextFragment的项目,所以路径不是cehuacaidan,原理相同)
3 cehuacaidan项目代码
MainActivity.java
<span style="font-size:18px;">package com.example.cehuacaidan;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
import com.jeremyfeinstein.slidingmenu.lib.app.SlidingFragmentActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends SlidingFragmentActivity {
public SlidingMenu sm ; //获得侧滑菜单
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setBehindContentView(R.layout.cehuabuju);
setContentView(R.layout.activity_main);
initcehua();
}
//初始化侧滑菜单
public void initcehua(){
sm = getSlidingMenu(); //获取侧滑菜单
sm.setMode(SlidingMenu.LEFT); //设置左滑菜单
//sm.setAboveOffsetRes(R.dimen.shdow_width);
sm.setBehindOffsetRes(R.dimen.sliding_menuoffset); //内容页剩余的宽度
sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
// sm.setShadowWidthRes(R.dimen.shadow_width);
//设置阴影
// sm.setShadowWidth(R.dimen.shadow_width );
}
}
</span>
activity_main.xml
<span style="font-size:18px;"><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.cehuacaidan.MainActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</RelativeLayout>
</span>
cehuabuju.xml
<span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#99cc33">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="我是侧滑菜单"
/>
</LinearLayout>
</span>
在此页面中,可以任意布局,这个就是侧滑菜单的布局。sliding_menu中有很多的方法,在此就不做详细的讲述,可以自行查阅,希望大家给我建议,共同学习。源代码地址:
http://download.csdn.net/detail/danielntz/9453041 项目地址
http://download.csdn.net/detail/danielntz/9453044 Sliding_Menu地址