参考:点击打开链接http://www.jianshu.com/p/9e4fa6c25687
效果图
最近有小伙伴问我APP应用实现用户指引有没有好的方式,因为项目中是根据自己当前的界面和其原本的布局弹出一个dialog。
-
优点
这样做的好处是无需适配,不用担心适配问题
-
缺点是:
不同的界面要写不同的dialog,如果引导较多,则会增加代码量
偶然间看到一个不错的封装库UserGuideView。给大家分享一下。
原理是根据当前要显示引导的view,通过其坐标来设置View的位置。
使用方法
-
第一步引入依赖
allprojects { repositories { ... maven { url 'https://jitpack.io' } } }
-
增加 dependency
dependencies {
compile 'com.github.yilylong:UserGuideView:v1.0.0'
} -
布局文件中引入
guideView.setHighLightView(UserGuideTestActivity.this,convertView);
guideView.setHighLightView(targetView);
UserGuideView的注意事项
传入当前需要高亮的view即可 之前的方法持有一个activity的引用不太好 去掉了
支持
-
支持高亮框形状 属性app:HighlightViewStyle="oval" 方形 圆形 椭圆 可选
-
提示的图片 属性 app:tipView="@mipmap/tip_view"
-
蒙版层颜色 属性 app:maskColor
-
高亮框边缘模糊效果 属性 app:MaskBlurStyle="solid" normal/solid
-
默认去掉了状态栏高度 当主题设置了
android:windowTranslucentStatus = true
需要设置状态栏高度为0
guideView.setStatusBarHeight(0);
修改了状态栏高度的获取方式不需要再调用这个方法。
项目地址:
https://github.com/yilylong/UserGuideView