我有一个水平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>