2017-04-06 150 views
1

我想滾動我的RecyclerViewoffset的特定位置。現在我正在使用scrollToPositionWithOffset(position, offset)並且此方法可以正常工作,除非滾動發生得太快,而且我無法控制滾動的速度。我試過使用smoothScrollToPosition(),但我需要偏移量。有人能告訴我如何在使用scrollToPositionWithOffset()時控制滾動速度?RecyclerView帶偏移量的滾動速度

回答

-1

把你的recyclerview放在nestedScrollview它會順利滾動。

+0

哇......我的工作一切都很順利,請問您能告訴我您是如何使用它的? *好奇* –

+1

儘管這可能會回答這個問題,但提供關於_how_和/或_why_的附加[上下文](https://meta.stackexchange.com/q/114762)可以解決問題,從而提高答案的長期價值。請記住,你正在爲將來的讀者回答這個問題,而不僅僅是現在問的人!請[編輯](http://stackoverflow.com/posts/43255822/edit)您的答案添加一個解釋,並指出適用的限制和假設。它也不會提到爲什麼這個答案比別人更合適。 –

1

如果您需要控制投擲速度,則需要實施自己的回收器視圖實現。

public class CustomRecyclerView extends RecyclerView { 

Context context; 

public CustomRecyclerView(Context context) { 
    super(context); 
    this.context = context; 
} 

public CustomRecyclerView(Context context, AttributeSet attrs) { 
    super(context, attrs); 
} 

public CustomRecyclerView(Context context, AttributeSet attrs, int defStyle) { 
    super(context, attrs, defStyle); 
} 

@Override 
public boolean fling(int velocityX, int velocityY) { 

    velocityY *= 0.7; 
    // velocityX *= 0.7; for Horizontal recycler view. comment velocityY line not require for Horizontal Mode. 

    return super.fling(velocityX, velocityY); 
    } 

}