Как программно прокрутить RecyclerView с продолжительностью? - PullRequest
0 голосов
/ 14 января 2019

У меня есть горизонтальная 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().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...