首先要向工程中加入侧滑菜单的依赖包
将下述代码写到activity中
package com.xinxue.slidingmenudemo;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu.CanvasTransformer;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu.OnClosedListener;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu.OnOpenedListener;
import android.graphics.Canvas;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 创建对象
SlidingMenu smenu = new SlidingMenu(this);
// 设置出现在左边还是右边
smenu.setMode(SlidingMenu.LEFT);
// 设置调出slidingmenu的区域
smenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);
// 设置阴影的宽度
smenu.setShadowWidth(8);
smenu.setShadowDrawable(R.drawable.shadow);
// 设置slidingmenu滑出来时的宽度
smenu.setBehindOffset(100);
// 设置刚拉出来的时候颜色,1为全黑
smenu.setFadeDegree(0.3f);
// 添加到Activity上面
smenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
此处加入要侧滑的布局文件
smenu.setMenu(R.layout.menu);
// 关闭监听
smenu.setOnClosedListener(new OnClosedListener() {
@Override
public void onClosed() {
Toast.makeText(MainActivity.this, "关闭了", Toast.LENGTH_SHORT).show();
}
});
// 打开监听
smenu.setOnOpenedListener(new OnOpenedListener() {
@Override
public void onOpened() {
Toast.makeText(MainActivity.this, "打开了", Toast.LENGTH_SHORT).show();
}
});
// 创建动画对象设置显示的时候出现的动画,这里我写的是一个入场动画
CanvasTransformer canvasTransformer = new CanvasTransformer() {
@Override
public void transformCanvas(Canvas canvas, float percentOpen) {
float scale = (float) (percentOpen * 0.25 + 0.75);
canvas.scale(scale, scale, canvas.getWidth() / 2, canvas.getHeight() / 2);
}
};
smenu.setBehindCanvasTransformer(canvasTransformer);
}
}