У меня есть горизонтальная RecyclerView
, и я пытаюсь программно прокрутить до значения x
.
Это было достигнуто до сих пор с помощью smoothScrollBy(x, y)
, однако я не могу на всю жизнь найти решение, в котором я могу установить продолжительность прокрутки, например, 1000мс.
Любая помощь была бы мне очень признательна, спасибо.
Код выглядит следующим образом:
private void focus() {
View focusedRecyclerViewItem = getFocusedRecyclerViewItem();
TextView focusedTextView = getFocusedTextView(focusedRecyclerViewItem);
focusedTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 64);
mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
mRecyclerView.clearOnScrollListeners();
countdown();
}
});
int x = (int) focusedRecyclerViewItem.getX() - mRecyclerView.getWidth() / 2;
mRecyclerView.smoothScrollBy(x, 0);
}
Чтобы уточнить, поскольку вопрос изначально не был ясен - я ищу пользовательскую продолжительность для метода smoothScrollBy()
при его вызове, а не продолжительность до вызова метода smoothScrollBy()
.