开源项目地址
https://github.com/jfeinstein10/SlidingMenu
效果图:
一、将library导入项目,并设置成库项目,新建项目添加该库,项目和库放在同一个文件夹下,并且目录最好是英文。
2、目录结构
二、代码
public class MainActivity extends Activity {
private SlidingMenu menu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
menu = new SlidingMenu(this);
//设置菜单模式,LEFT(仅左侧边栏) RIGHT(仅右侧边栏)
//LEFT_RIGHT(左右侧边栏)
menu.setMode(SlidingMenu.LEFT_RIGHT);
//滑动模式
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_NONE);
//设置偏离距离
menu.setBehindOffset(200);
menu.setFadeDegree(0.5f);
menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
//设置两个左右布局文件
menu.setMenu(R.layout.left_layout);
menu.setSecondaryMenu(R.layout.right_layout);
ImageButton ibMenu = (ImageButton) findViewById(R.id.ib_menu);
//点击事件
ibMenu.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//左边侧栏
//menu.toggle();
//显示右边的侧栏
menu.showSecondaryMenu();
}
});
}
}
三、布局
1、main.xml
<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"
tools:context=".MainActivity" >
//引用titlebar
<include layout="@layout/titlebar"/>
</RelativeLayout>
2、标题栏布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:background="@drawable/title_red_bg"
android:gravity="center"
android:textColor="#fff"
android:textSize="20sp"
android:text="首页" />
<ImageButton
android:id="@+id/ib_menu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/tv_title"
android:layout_alignParentLeft="true"
android:layout_marginBottom="18dp"
android:layout_marginLeft="45dp"
android:background="@null"
android:src="@drawable/img_menu" />
</RelativeLayout>
3、其他的两个布局啥都没有自己随便加吧。
4、代码
https://github.com/hi-jia/MySlidingMenu