AS配置SlidingMenu及简单使用
SlidingMenu github下载地址:https://github.com/jfeinstein10/SlidingMenu
下载下来是一个SlidingMenu-master.zip包,然后解压成SlidingMenu-master
一. 配置步骤:
(1)新建一个model - library
名字可随意,见名知意最好。
(2)删除新建的library的这三个文件
(3)找到你下载的SlidingMenu-smaster包中library的红框中的三个文件,将其复制在之前删除的地方.
再将src改为java.
(4)依赖项目
打开项目的
(5)配置完后可能会出现的问题
将FloatMath 换成 Math即可,FloatMath 为过时方法
说明:会看到有两个包,mylibrary是为了写这篇文档新建的,slidingmenu是我已经绑定的
,自己实操作了一遍才写的,莫在意名字的不同。
至此配置完成。
二. 简单使用
(1)添加一个侧滑栏布局
我只是设置了一个颜色背景
(2)设置侧滑栏
(3)打开侧滑栏
不想用menu物理键,所有我在activity中设置了一个button。
三. 设置阴影效果
(1)在library包的SlidingMenu.java中添加此方法
public void setOffsetFadeDegree(float f) { mViewBehind.setOffsetFadeDegree(f); }
(2)在CustomViewBehind.java中添加
private float mOffsetFadeDegree; 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); }(3)在CustomViewAbove.java中的dispatchDraw方法中修改成
再将sre改为java.
@Override protected void dispatchDraw(Canvas canvas) { super.dispatchDraw(canvas); // Draw the margin drawable if needed. mViewBehind.drawShadow(mContent, canvas); mViewBehind.drawFade(mContent, canvas, getPercentOpen()); //绘制剩余View的淡入淡出 mViewBehind.drawOffsetFade(mContent, canvas, getPercentOpen()); mViewBehind.drawSelector(mContent, canvas, getPercentOpen()); // }
(4)设置阴影效果
menu.setOffsetFadeDegree(0.4f);
再将sre改为java.