如何以编程方式滚动带有持续时间的RecyclerView?

时间:2019-01-14 08:07:04

标签: android android-recyclerview linearlayoutmanager

我有一个水平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()方法被调用之前的持续时间。 / p>

0 个答案:

没有答案