[Android开发] SlidingMenu侧滑剩余的位置添加阴影淡入淡出
2016-09-03 19:42
381 查看
一、效果图
二、修改方法
1. 在SlidingMenu添加一个设置透明度方法
public void setOffsetFadeDegree(float f) { mViewBehind.setOffsetFadeDegree(f); }
2. CustomViewBehind 添加变量和方法
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 的dispatchDraw 绘制view 里面调用drawOffsetFade
/** * 绘制ui * @param canvas */ @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()); // }
三、使用方法
在初始化menu的时候,调用下面这个方法,设置透明度就行了,一般设置为0.4就行了menu.setOffsetFadeDegree(0.4f);
ok了,修改之后的SlidingMenu源码下载地址
http://download.csdn.net/detail/niubitianping/9621010
用上各位大佬点个赞谢谢
相关文章推荐
- SlidingMenu侧滑剩余的位置添加阴影淡入淡出
- Android的SlindingMenu侧边栏划出来之后 剩余的位置怎么样设置阴影呢?
- android 开发中 添加库文件 和so 文件的存放位置和添加依赖
- Android Map Api 使用和开发(2) 定位我的位置、地图弹出泡泡、通过经纬度获取地址
- android layout中添加XML以及监听事件放置的位置
- 【Android游戏开发之八】游戏中添加音频-详解MediaPlayer与SoundPool的利弊以及各个在游戏中的用途!
- 【Android游戏开发之八】游戏中添加音频-详解MediaPlayer与SoundPoo!并讲解两者的区别和游戏中的用途!
- 【Android游戏开发之六】在SurfaceView中添加组件!!!!并且相互交互数据!!!!
- Android Map Api 使用和开发(2) 定位我的位置、地图弹出泡泡、通过经纬度获取地址
- 在Eclipse中开发Android程序,添加javadoc目录,可以详细显示API的说明。。。
- Android开发-触屏事件的获取和触摸屏幕位置
- Android Map Api 使用和开发(1) 添加地图和界面
- 配置Android开发环境常见错误解决办法(陆续添加)“your project contains error(s),please fix them before running your application”.
- Android Map Api 使用和开发(1) 添加地图和界面
- Android Map Api 使用和开发(1) 添加地图和界面
- 【Android游戏开发之六】在SurfaceView中添加组件!!!!并且相互交互数据!!!!
- 【Android游戏开发之六】在SurfaceView中添加组件!!!!并且相互交互数据!!!!
- 【Android游戏开发之六】在SurfaceView中添加组件!!!!并且相互交互数据!!!!
- eclipse开发android,添加源码
- Android Map Api 使用和开发(1) 添加地图和界面