binIoter / GuideView

东半球最好用的新手引导库,能够快速为任何一个View创建一个遮罩层,支持单个页面,多个引导串联展示,支持为高亮区域设置不同的图形,支持引导动画,方便扩展,良好支持fragment
3.96k stars 651 forks source link

如何给targetView设置点击事件监听 #63

Open kaishuiWang opened 4 years ago

kaishuiWang commented 4 years ago

你好,项目中引用guideView, 1.需要在点击了targetView时监听事件,但好像没有相应的监听api。 2.需要在页面设置5个控件的引导,点击一个出现下一个引导,5个引导,现在有个场景,页面底部固定一个button,请问这如何实现 有知道的同学解答下,谢谢,在线等

binIoter commented 4 years ago

问题1:你可以参考onSlideListener的实现,自行实现,目前点击默认dismiss处理。 @Override public boolean onTouch(View view, MotionEvent motionEvent) { if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) { startY = motionEvent.getY(); } else if (motionEvent.getAction() == MotionEvent.ACTION_UP) { if (startY - motionEvent.getY() > DimenUtil.dp2px(view.getContext(), SLIDE_THRESHOLD)) { if (mOnSlideListener != null) { mOnSlideListener.onSlideListener(GuideBuilder.SlideState.UP); } } else if (motionEvent.getY() - startY > DimenUtil.dp2px(view.getContext(), SLIDE_THRESHOLD)) { if (mOnSlideListener != null) { mOnSlideListener.onSlideListener(GuideBuilder.SlideState.DOWN); } }else{ // todo 处理点击 } if (mConfiguration != null && mConfiguration.mAutoDismiss) { dismiss(); } } return true; } 问题2,本库是支持串联依次展示的,参见demo

CantonTower commented 2 months ago

在Component中加回调接口