RecyclerView - Como suavizar a rolagem para o topo do item em uma determinada posição?

Em um RecyclerView, sou capaz de rolar de repente para o topo de um item selecionado usando:

((LinearLayoutManager) recyclerView.getLayoutManager()).scrollToPositionWithOffset(position, 0);

No entanto, issoabruptamente move o item para a posição superior. Eu quero ir para o topo de um itemsuavemente.

Eu também tentei:

recyclerView.smoothScrollToPosition(position);

mas não funciona bem, pois não move o item para a posição selecionada para o topo. Simplesmente rola a lista até o item na posição ficar visível.

questionAnswers(8)

yourAnswerToTheQuestion