-
Notifications
You must be signed in to change notification settings - Fork 354
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
app:autoAdjustHeightAtBottomView="true"这个属性针对ConsecutiveScroller.childAt(lastIndex)还是使用当前所在滑动窗口的最后一个View? #298
Comments
ConsecutiveScroller.childAt(lastIndex) |
有没有什么办法调整为当前滑动窗口的最后一个View呢? |
我认为吸顶布局应该有三种模式 |
因为我这边有一个功能,需要在RecyclerView中在Item可见的时候做动画(500毫秒左右),由于现在的吸顶是默认是悬浮的,导致item实际已经attchToWindow但是并没有真正可见,错过了动画的展示。所以我这边也在思考吸顶的本质问题 |
autoAdjustHeightAtBottomView的原理是动态计算,让最后一个view的height等于ConsecutiveScroller.height - 吸顶的高度。你也可以自己手动设置任意view的高度固定为这个值。但是如果这个view不是最后一个,那么你在滑动过程中就会看到,布局出现脱节重叠的现象。你可以个自己的子滑动view设置个固定高度看一下 |
那能否在ConsecutiveScroller的onLayout中动态调整吸顶下方的View能达到的最大Y值,我这边的核心需求不是调整滑动列表的高度,而是不希望吸顶View盖住了滑动列表 |
我这边仔细看了源码,我看到了ConsecutiveScrollerLayout的onMeasure中针对最后一个子View 调用了getAdjustHeightForChild并限制其最大高度。所以高度这块我没有疑虑,我不理解的是,滑动控件在滑动的时候没有从吸顶View的下方过去,这是怎么做到的?我如何做到让所有的滑动子View都做到这个效果呢? |
这个效果就是通过修改最后一个view的高度实现。以为最后一个view的高度等于ConsecutiveScrollerLayout的高度-吸顶的高度,所以吸顶view覆盖不到最后一个view。这里你要理解view的高度和view内容的高度是两个概念,view的内容是在自己的view容器里面滑动的。 你想要的效果,还有一个实现思路,就是在滑动到根吸顶view重合时,动态改变你的那个滑动view的paddingTop,让滑动view顶部留出吸顶高度的空间,使滑动view的内容不被吸顶view覆盖。我不确定这种是否符合你的需求 |
No description provided.
The text was updated successfully, but these errors were encountered: