FadingActionBar是一个库,它允许基于滚动下面的内容来淡化操作栏,同时在内容上方还有一个标题。
我想要的是标题部分:
问题是我希望底部布局与标题下方的内容一起滚动,并且imageView将像往常一样使用库的parrallex效果滚动。
底部布局仍然在标题部分内部,所以当滚动足够时,它也应该被隐藏。
我尝试通过在addParallaxEffect方法中调用offsetTopAndBottom来否定底部布局的滚动效果(在" FadingActionBarHelperBase.java"文件中):
private void addParallaxEffect(final int scrollPosition) {
final float damping = mUseParallax ? 0.5f : 1.0f;
final int dampedScroll = (int) (scrollPosition * damping);
int offset = mLastDampedScroll - dampedScroll;
if (mStickeyView != null) {
int stickeyOffset = mUseParallax ? (mLastScrollPosition - scrollPosition) / 2 : mLastScrollPosition - scrollPosition;
mStickeyView.offsetTopAndBottom(stickeyOffset);
}
...
这几乎运作良好。当我滚动到足以隐藏标题然后返回时,它不起作用,因为随着时间的推移它会累积滚动。
如何正确地将此功能添加到库中?
可能有解决方法吗?
答案 0 :(得分:0)
好的,我已经使用以下方法修复了它:
if (mStickeyView != null) {
final int stickeyOffset = -offset + mLastScrollPosition - scrollPosition;
mStickeyView.offsetTopAndBottom(stickeyOffset);
}
但是,如果其他人找到了另一种更好的方法,请告诉我。
编辑:
正确的方法是使用headerOverlayLayout()作为底部布局,如“HeaderOverlayActivity”示例所示。