第一步: 找到 SlidingMenu库中 CustomViewBehind 类 添加如下代码:
private float mOffsetFadeDegree; //剩余的view 淡出淡入,就是从界面从黑到透明
public void setOffsetFadeDegree(float degree) {
if (degree > 1.0f || degree < 0.0f)
throw new IllegalStateException("The offsetFadeDegree must be between 0.0f and 1.0f");
mOffsetFadeDegree = degree;
}
/**
* 绘制剩余View的淡出淡入
* @param content 主界面
* @param canvas 画布
* @param openPercent 打开了的百分比
*/
public void drawOffsetFade(View content, Canvas canvas, float openPercent) {
if (mWidthOffset <= 0 || mOffsetFadeDegree <= 0) return;
final int alpha = (int) (mOffsetFadeDegree * 255 * Math.abs(openPercent));
mFadePaint.setColor(Color.argb(alpha, 0, 0, 0));
canvas.drawRect(content.getLeft(), 0,content.getRight(), getHeight(), mFadePaint);
}
第二步:找到 SlidingMenu库中 CustomViewAbove 类 添加如下代码:
找到 dispatchDraw()方法,在该方法中添加 如下
mViewBehind.drawOffsetFade(mContent, canvas, getPercentOpen());//绘制阴影
第三步 : 调用 在初始化menu的时候,调用下面这个方法
menu.setOffsetFadeDegree(//这里设置的是阴影值(0.5f));