工作原理
首先我们通过GuideBuilder来构造,这个时候我们构造的时候参数通过Configuration来保存;构造完后,我们调用createGuide()
来获得Guide,传过去的是我们设置的Configuration和监听对象OnVisibilityChangedListener、Component;我们获得Guide对象后,
调用show()方法,这个时候才是真正的绘制(MaskView)。
类或借口介绍
GuideBuilder(遮罩系统构建器)
方法介绍:
(1) public GuideBuilder()构造方法
(2) public GuideBuilder setAlpha(int alpha) ;设置蒙版的透明度
(3) public GuideBuilder setTargetView(View v);设置要覆盖的目标
(4) public GuideBuilder setTargetViewId(int id);设置目标view的id
(5) public GuideBuilder setFullingViewId(int id);设置蒙版的id
(6) public GuideBuilder setHighTargetCorner(int corner);设置高亮区圆角的大小
(7) public GuideBuilder setHighTargetGraphStyle(int style);设置高亮区域图形的样式
(8) public GuideBuilder setFullingColorId(int id);设置蒙板颜色的资源id
(9) public GuideBuilder setAutoDismiss(boolean b);是否在点击的时候自动退出蒙板
(10)public GuideBuilder setOverlayTarget(boolean b);是否覆盖目标
(11)public GuideBuilder setEnterAnimationId(int id);设置进入动画
(12)public GuideBuilder setExitAnimationId(int id);设置退出动画
(13)public GuideBuilder addComponent(Component component);添加一个控件
设置遮罩可见状态变化时的监听回调
(14)public GuideBuilder setOnVisibilityChangedListener(OnVisibilityChangedListener onVisibilityChangedListener);
(15)public GuideBuilder setOutsideTouchable(boolean touchable);设置遮罩系统是否可点击并处理点击事件
(16)public GuideBuilder setHighTargetPadding(int padding);设置高亮区域的padding
(17)public GuideBuilder setHighTargetPaddingLeft(int padding);设置高亮区域的左侧padding
(18)public GuideBuilder setHighTargetPaddingTop(int padding);顶部
(19)public GuideBuilder setHighTargetPaddingRight(int padding);右边
(20)public GuideBuilder setHighTargetPaddingBottom(int padding);底部
(21)public Guide createGuide();创建Guide
Guide(遮罩系统的封装)
方法介绍:
(1)public void show(Activity activity);显示该遮罩
(2)public void dismiss();隐藏该遮罩并回收资源相关
(3)public Guide();构造方法
MaskView(绘制图形的类)
Component(遮罩系统中相对于目标区域而绘制一些图片或者文字等view需要实现的接口,GuideBuilder中13需要传入的参数)
方法介绍:
(1)View getView(LayoutInflater inflater);需要显示的view
(2)int getAnchor();相对目标View的锚点
(3)int getFitPosition();相对目标View的对齐
(4)int getXOffset();相对目标View的X轴位移,在计算锚点和对齐之后。
(5)int getYOffset();相对目标View的Y轴位移,在计算锚点和对齐之后。
Configuration(遮罩系统创建时配置参数的封装)
BuildException(遮罩系统运行异常的封装)
Common(用到的一些公用方法)
(1)static View componentToView(LayoutInflater inflater, Component c);设置Component
(2)static Rect getViewAbsRect(View view, int parentX, int parentY);Rect在屏幕上去掉状态栏高度的绝对位置
OnVisibilityChangedListener(遮罩可见发生变化时的事件监听)
Demo效果图
源码:http://download.csdn.net/detail/qq_27280457/9728847