2017-04-06 20 views
1

RecyclerViewoffsetで特定の位置にスクロールしたいとします。今私はscrollToPositionWithOffset(position, offset)を使用していますが、スクロールが速すぎることを除いてこのメソッドは正常に動作し、スクロールの速度を制御できません。私はsmoothScrollToPosition()を使ってみましたが、オフセットが必要です。 scrollToPositionWithOffset()を使用すると、スクロールの速度を制御する方法を教えてもらえますか?RecyclerViewオフセット付きスクロール速度

答えて

-1

recyclerviewnestedScrollviewにスムーズにスクロールします。

+0

ワウ...私の仕事はスムーズでしたが、あなたはそれをどのように使ったか教えてください。 *奇妙な* –

+1

これは疑問に答えるかもしれませんが、_how_および/または_why_に関する追加の[context](https://meta.stackexchange.com/q/114762)を提供することで、この問題が解決され、回答の長期的価値が向上します。あなたが今質問している人だけでなく、将来読者のための質問に答えていることを忘れないでください!あなたの答えを説明し、どんな制限と前提が適用されるのかを示すためにあなたの答えを編集してください(http://stackoverflow.com/posts/43255822/edit)。また、この答えが他のものよりも適切である理由についても言及していません。 –

1

飛行速度を制御する必要がある場合は、独自のrecyclerviewの実装を実装する必要があります。

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); 
    } 

} 
関連する問題