【发布时间】:2019-01-10 22:23:18
【问题描述】:
实际上我想在水平recyclerview 中添加一个这样的功能,如果它是最后一个位置,它会自动滚动到下一个位置,有时它必须向前移动,有时它必须向后移动,就像 instagram 的过滤器视图一样通过点击自动滚动。我想知道如何执行此任务。目前按我的逻辑它只是向前滚动,但我不知道如何插入向后滚动的逻辑。
代码:
horzRview.addOnItemTouchListener(new RecyclerItemClickListener(ctx, horzRview, new RecyclerItemClickListener.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
if(position<adapter.getItemCount()-1)
horzRview.getLayoutManager().smoothScrollToPosition(horzRview, null, position+1);
else horzRview.getLayoutManager().smoothScrollToPosition(horzRview, null, position-1);
}
@Override
public void onLongItemClick(View view, int position) {
}
}));
【问题讨论】:
-
使用
horzRview.scrollTo(curruntPostion-1)方法滚动后退 -
@SaurabhBhandari 感谢您的回答先生,但什么时候这样做
-
@SaurabhBhandari 不,先生,你不明白我怎么能假设我必须向前或向后移动
-
然后获取屏幕宽度获取它的中点如果触摸在 mid 之前然后使用 pos-1 或者如果它在 mid 之后使用 pos+1
标签: android android-recyclerview horizontal-scrolling