添加一个粘性标题到视差滚动 - android

时间:2015-01-20 10:16:06

标签: android parallax android-scrollview sticky

我希望在我的应用程序中有一个视差滚动,就像使用'粘贴'的spotify应用程序一样。头。这意味着标题将固定在屏幕顶部。我发现很多ScrollView库分别执行这些功能,我找不到任何同时执行这两个功能的库。

我使用ParallaxScroll库进行parallex滚动,StickyScrollViewItems将项目粘贴到屏幕顶部。

非常感谢任何帮助。

2 个答案:

答案 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"中找到了最好,最简单的解决方案。

enter image description here

基于此示例,我为我的应用程序制作了联系模块,这非常简单。

enter image description here

有关视差滚动的信息,请参见本文AppBarLayout scroll behavior with layout_scrollFlags。您可以将这两个示例结合在一起。