我正在寻找一种滚动方式以RecyclerView在顶部显示所选项目的方法.
在ListView我能够通过这样做,scrollTo(x,y)并获得了需要为中心元素的顶部.
就像是:
@Override
public void onItemClick(View v, int pos){
mylistView.scrollTo(0, v.getTop());
}
Run Code Online (Sandbox Code Playgroud)
问题是RecyclerView当使用它的scrollTo方法时返回错误
RecyclerView不支持滚动到绝对位置
如何滚动a RecyclerView以将所选项目放在视图顶部?
在RecyclerView上,我可以使用以下命令突然滚动到所选项目的顶部:
((LinearLayoutManager) recyclerView.getLayoutManager()).scrollToPositionWithOffset(position, 0);
Run Code Online (Sandbox Code Playgroud)
但是,这突然将项目移动到顶部位置.我想顺利地移动到项目的顶部.
我也尝试过:
recyclerView.smoothScrollToPosition(position);
Run Code Online (Sandbox Code Playgroud)
但它不能很好地工作,因为它不会将项目移动到选定的顶部位置.它只是滚动列表,直到位置上的项目可见.
我正在创建一个可编辑项的列表(从后端接收)。我正在为此使用“新” recyclerview。我的recyclerview中有几种可能的viewTypes:
我遇到的问题是EditText获得关注。AdjustResize正常运行,并显示我的键盘。但是已经获得焦点的EditText在列表中不再可见。(现在调整大小的部分在列表中的位置在可见位置下方)。在这种情况下,我不想使用AdjustPan,因为在最上面有一个寻呼机和我想固定在那里的东西。
android android-softkeyboard android-listview android-edittext android-recyclerview
我有一个像专辑这样的项目列表,我通过 RecyclerView 显示它。
此外,每个项目都有一个按钮,通过单击然后滚动到列表中的下一个位置来将一些数据发送到服务器。
所以我的问题是:
如果调用 smoothScrollToPosition() 方法,如何防止 RecyclerView 手动滚动(手势)但滚动到某个位置?