ok, i've fixed it by using:
if (mStickeyView != null) {
final int stickeyOffset = -offset + mLastScrollPosition - scrollPosition;
mStickeyView.offsetTopAndBottom(stickeyOffset);
}
however, if anyone else finds another, better way, please let me know.
EDIT:
The correct way to do it is by using headerOverlayLayout() for the bottom layout, as seen on the "HeaderOverlayActivity" sample.