-
Notifications
You must be signed in to change notification settings - Fork 521
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ScrollView 中高亮的位置判断有偏差 #87
Comments
@huburt-Hu 直接关闭的意思是? |
v2.4.3版本已修复这个问题 |
感谢您的提出~ |
@huburt-Hu 好的,你太棒了! |
V2.4.3 并未解决此问题 |
我未滑动到底部,只是滑动到HighLightView 即展示guide, guide 高亮位置显示在底部 |
@zhangshuqi 能把你判断的代码贴给我嘛,我测试下 |
var scrollBounds = Rect() |
另外 是否可以考虑开放设置高亮部分UI自定义呢? |
你这种判断方式有问题,getLocalVisibleRect方法是只要highLightView在scrollView的可视区域scrollBounds中出现了1个像素,就返回true。所以第一次满足条件的时候highLightView只在底部出现了一点点,这时候获取到的高亮位置就是在底部,而获取高亮位置的getLocationInView只在第一次获取一次,所以你后面重复show还是高亮在底部。 |
@zhangshuqi 自定义高亮UI可以参见我的demo设置anchor那块代码:
复写onHighlightDrew方法实现自定义绘制。 |
我在highLightView完全进入屏幕之时show 同样出现此问题,我的判断规则是,当highLightView 的下一个view展示时show highLightView . 2.4.3 的代码 似乎跟您 guide lib 里面的代码不一致 您可以查看一下 |
看了几个关于 ScrollVIew 的issues,很多都是同样的问题。当高亮View在一个很长的LinearLayout的底部并且该ScrollView已经滚动到底部时,高亮View相对于LinearLayout的top是 比如是2000,LinearLayout相对ScrollView的top应该是 -1500时 结果却一直是0. 通过getHitRect拿到的LinearLayout相对ScrollView的top永远是0,不管实际滚动了多少。
The text was updated successfully, but these errors were encountered: