作者:mobiledu2502925333 | 来源:互联网 | 2023-10-11 22:50
当RecycleView点击的时候item会根据你设置的position通过scrollToPosition(position)自动跳转到相应的位置,但是由于每一个item的高度都是在变化的,所以不
当RecycleView 点击的时候item会根据你设置的position通过
scrollToPosition(position)自动跳转到相应的位置,
但是由于每一个item的高度都是在变化的,所以不能保证相应的item一直都能位于窗口的顶部,
这时候就可以通过scrollToPositionWithOffset(position,offset)来设置一下点击的时候相应item距离顶部的偏移量。
相关的偏移量可以根据计算而得,也可以直接设置为0.
偏移量offset的单位为px.
这时候不管怎么点击都会让你点击的item位于当前视图的顶部。
当然也有点小问题,就是当RecycleView到达底部的时候就会失效。
相关代码:
mHeadAdapter.setmOnClicklistener(new OnRecycleViewHeadClickListener() {
@Override
public void onItemClick(View view, int position) {
linearLayoutManagerContent.scrollToPositionWithOffset(position,0);
}
});