Как программно прокрутить RecyclerView с продолжительностью?

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


person bitOPS    schedule 14.01.2019    source источник
comment
Возможный дубликат Как анимировать recyclerview при прокрутке, например Google Plus/Google Газетный киоск?   -  person Pouya Danesh    schedule 14.01.2019
comment
вы можете использовать перевод и настройку транзакций, но вы не искали их правильно   -  person Pouya Danesh    schedule 14.01.2019
comment
Пожалуйста, объясните, поскольку это первое приложение для Android, которое я создаю, я не слишком хорошо знаком с платформой. Спасибо   -  person bitOPS    schedule 14.01.2019
comment
Извините, но я изо всех сил пытаюсь найти способ заставить его скользить влево / вправо медленнее, чем вы меня связали. Не могли бы вы дать ответ, чтобы устранить путаницу? Спасибо   -  person bitOPS    schedule 14.01.2019
comment
Все, что я пытаюсь сделать, это установить продолжительность прокрутки влево/вправо. Например, если он установлен на 3000, он изящно прокручивается в направлении в течение 3000 мс. smoothScrollBy() прокручивается изящно, просто я не могу изменить время, необходимое для этого.   -  person bitOPS    schedule 14.01.2019