现在的Android应用中很多都有侧滑菜单的存在,为的是让一个小屏幕内展现更多的内容,今天我们使用SlidingMenu这个开源库已经封装好了侧滑的操作,下载的地址是:
http://download.csdn.net/detail/u013926110/8460867
接下来就是将下载下来的开源库导入到eclipse中,并在需要引用这个项目上右键,选择properties/android,在右下角is library选择add,然后将开源库引入进来,然后apply,ok。
注意:由于本来的slidingmenu库中的libs下有一个v4包,新建的项目下也会有一个,就会报错,只需要将新建的程序的libs下的v4删除即可。
首先在drawable下面新建一个shadow.xml文件,这个是菜单栏和内容栏之间的阴影,可以自己设置效果。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<gradient
android:endColor="#000"
android:centerColor="#f4f4f4"
android:startColor="#fff" />
</shape>
mainactivity的代码如下:
public class MainActivity extends Activity {
SlidingMenu menu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
initSlidingMenu();
}
private void initSlidingMenu() {
setContentView(R.layout.activity_main);
menu = new SlidingMenu(this);
menu.setMode(SlidingMenu.LEFT);// 设置左滑菜单
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);// 设置滑动的屏幕范围,该设置为全屏区域都可以滑动
menu.setShadowDrawable(R.drawable.shadow);// 设置阴影图片
menu.setShadowWidthRes(R.dimen.shadow_width);// 设置阴影图片的宽度
menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);// SlidingMenu划出时主页面显示的剩余宽度
// menu.setBehindWidth(400);// 设置SlidingMenu菜单的宽度
menu.setFadeDegree(0.35f);// SlidingMenu滑动时的渐变程度
menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);// 使SlidingMenu附加在Activity上
menu.setMenu(R.layout.menu_layout);// 设置menu的布局文件
menu.toggle();// 动态判断自动关闭或开启SlidingMenu
menu.showMenu();// 显示SlidingMenu
menu.showContent();// 显示内容
// 左右都可以划出SlidingMenu菜单只需要设置
// menu.setMode(SlidingMenu.LEFT_RIGHT);属性,然后设置右侧菜单的布局文件
// menu.setSecondaryShadowDrawable(R.drawable.shadowright);//右侧菜单的阴影图片
}
}
这是一个十分简单的效果,什么都没有添加,仅仅实现了侧滑的样子,下次会讲解如何实现slidingmenu+viewpager的效果