android SlidingMenu 侧边菜单划出后剩余部分阴影设置

第一步: 找到 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;
}

android SlidingMenu 侧边菜单划出后剩余部分阴影设置_第1张图片

/**
 * 绘制剩余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);
}

android SlidingMenu 侧边菜单划出后剩余部分阴影设置_第2张图片

第二步:找到 SlidingMenu库中 CustomViewAbove 类 添加如下代码:

找到  dispatchDraw()方法,在该方法中添加 如下

mViewBehind.drawOffsetFade(mContent, canvas, getPercentOpen());//绘制阴影

android SlidingMenu 侧边菜单划出后剩余部分阴影设置_第3张图片

第三步 : 调用 在初始化menu的时候,调用下面这个方法

menu.setOffsetFadeDegree(//这里设置的是阴影值(0.5f));

 

 

你可能感兴趣的:(android,开源库,第三方,android)