2016-01-20 51 views
2

[背景:在可穿戴]在RecyclerView中成倍增加滚动速度? (耐磨)

比方说你有1000项RecyclerView。

你想从项目50去500

我希望用户通过每个项目的滚动,因为它通常工作,但如果他继续滚动快 - 我想RecyclerView开始成倍更快滚动。

E.g.

起初,它可能会从项目滚动到如项:0 -> 1 -> 2 -> 3 ...

随着用户滚动长,快:3 -> 6 -> 9 -> 12 ...

这推移和:12 -> 24 -> 36 -> 48 ...

这可能吗?我该怎么做?非常感谢。

回答

3

我喜欢它,当有简单的解决方案似乎是一个复杂的问题。只需重写自定义RecyclerView类中的投掷方法(在我的例子中是WearableListView - 它继而扩展了RecyclerView)。这会增加/减少滚动列表的速度,并且在用户滚动时增加这个速度将实现我正在寻找的确切逻辑!希望它也能帮助你。

public class DynamicWearableListView extends WearableListView { 

    //Constructors 

    @Override 
    public boolean fling(int velocityX, int velocityY) { 
     velocityY *= mVelocityMultiplier; 
     return super.fling(velocityX, velocityY); 
    } 
} 
+0

为什么我在RecyclerView超类中找不到方法? – Eenvincible