RecyclerViewのスクロール位置を選択した項目が真ん中になるようにするには、LinearLayoutManager
のscrollToPositionWithOffset
メソッドを利用することができます。
以下に一例を示します。
int position = // 選択した項目の位置
int offset = recyclerView.getHeight() / 2; // RecyclerViewの高さの半分
LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();
if (layoutManager != null) {
layoutManager.scrollToPositionWithOffset(position, offset);
}
このコードでは、RecyclerViewの高さの半分をオフセットとして使っています。これにより、選択した項目がRecyclerViewの中央にスクロールするようになります。ただし、項目の高さがRecyclerViewの高さの半分より大きい場合や、項目がRecyclerViewの最初や最後に近い場合は、項目が完全に中央にくるとは限らないことに注意してください。