我希望在我的应用程序中有一个视差滚动,就像使用'粘贴'的spotify应用程序一样。头。这意味着标题将固定在屏幕顶部。我发现很多ScrollView库分别执行这些功能,我找不到任何同时执行这两个功能的库。
我使用ParallaxScroll库进行parallex滚动,StickyScrollViewItems将项目粘贴到屏幕顶部。
非常感谢任何帮助。
答案 0 :(得分:2)
访问https://github.com/ksoichiro/Android-ObservableScrollView
如果您不想使用库,您可以从这里获得使标题粘滞的逻辑: -
@Override
public void onScrollChanged(int scrollY, boolean firstScroll, boolean dragging) {
if (dragging) {
int toolbarHeight = mToolbarView.getHeight();
if (firstScroll) {
float currentHeaderTranslationY = ViewHelper.getTranslationY(mHeaderView);
if (-toolbarHeight < currentHeaderTranslationY) {
mBaseTranslationY = scrollY;
}
}
float headerTranslationY = ScrollUtils.getFloat(-(scrollY - mBaseTranslationY), -toolbarHeight, 0);
ViewPropertyAnimator.animate(mHeaderView).cancel();
ViewHelper.setTranslationY(mHeaderView, headerTranslationY);
}
}
///这是使视图变得粘滞的关键方法。
setTranslationY(float translationY)
设置此视图相对于其顶部位置的垂直位置。
答案 1 :(得分:0)
我回答得这么晚,但希望我的回答对某人有帮助。我也有这样的任务。我一直在寻找答案和粘性标头的示例,但对于recyclerView。我在Saber Solooki的文章"Sticky Header For RecyclerView"中找到了最好,最简单的解决方案。
基于此示例,我为我的应用程序制作了联系模块,这非常简单。
有关视差滚动的信息,请参见本文AppBarLayout scroll behavior with layout_scrollFlags。您可以将这两个示例结合在一起。