直接上代码
RecyclerView mRvFilters;
mRvFilters.setLayoutManager(new CenterLayoutManager(this, RecyclerView.HORIZONTAL, false));
//RecyclerView 使用 LinearSnapHelper
LinearSnapHelper linearSnapHelper = new LinearSnapHelper();
linearSnapHelper.attachToRecyclerView(mRvFilters);
//监听 滚动 获取具体位置
mRvFilters.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
if (newState == RecyclerView.SCROLL_STATE_IDLE) {
if (recyclerView != null && recyclerView.getChildCount() > 0) {
try {
// 获取剧中的具体位置 划重点
int currentPosition = ((RecyclerView.LayoutParams) linearSnapHelper.findSnapView(recyclerView.getLayoutManager()).getLayoutParams()).getViewAdapterPosition();
} catch (Exception e) {
}
}
}
}
});