|
|
@@ -24,6 +24,7 @@ class GuideController {
|
|
|
private var guideLayout: GuideLayout? = null
|
|
|
private var isShowing = false
|
|
|
|
|
|
+ var onBeforeShowPageListener: ((String?) -> Unit)? = null //引导页显示前
|
|
|
var pageShowListener: ((String?) -> Unit)? = null //每个引导页面展示的时候回调
|
|
|
var pageDismissListener: ((String?) -> Unit)? = null //每个引导页面消失的时候回调
|
|
|
|
|
|
@@ -44,6 +45,7 @@ class GuideController {
|
|
|
delayShowNext = guideParams.delayShowNext
|
|
|
alwaysShow = guideParams.alwaysShow
|
|
|
groupLabel = guideParams.groupLabel
|
|
|
+ onBeforeShowPageListener = guideParams.onBeforeShowPageListener
|
|
|
pageShowListener = guideParams.pageShowListener
|
|
|
pageDismissListener = guideParams.pageDismissListener
|
|
|
}
|
|
|
@@ -110,6 +112,8 @@ class GuideController {
|
|
|
}
|
|
|
|
|
|
private fun showGuidePageInner(guidePage: GuidePage) {
|
|
|
+ onBeforeShowPageListener?.invoke(guidePage.label)
|
|
|
+
|
|
|
//当前guidePage无效或者拦截,停止显示
|
|
|
if (!guidePage.isValid(parentView!!) || guidePage.guideInterceptor?.invoke() == true) {
|
|
|
Log.d(TAG, "showGuidePageInner, return for guidePage isInvalid or Intercept")
|
|
|
@@ -183,6 +187,7 @@ class GuideController {
|
|
|
var parentViewId: Int? = null
|
|
|
var baseViewId: Int? = null
|
|
|
|
|
|
+ var onBeforeShowPageListener: ((String?) -> Unit)? = null //引导页显示前
|
|
|
var pageShowListener: ((String?) -> Unit)? = null
|
|
|
var pageDismissListener: ((String?) -> Unit)? = null
|
|
|
}
|