private void adjustUILabel(RecyclerView recyclerView) { final int count = rollHolder.recyclerView.getLayoutManager().getChildCount(); View v = recyclerView.getLayoutManager().getChildAt(0); if (v == null) return; final int index = recyclerView.getChildAdapterPosition(v); final int left = v.getLeft(); for (int i = 0; i < count; i++) { RecyclerView.ViewHolder holder = rollHolder.recyclerView.getChildViewHolder(rollHolder.recyclerView.getLayoutManager().getChildAt(i)); if (holder != null && holder instanceof MarketViewHolder) { LinearLayoutManager manager = (LinearLayoutManager) ((MarketViewHolder) holder).recyclerView.getLayoutManager(); manager.scrollToPositionWithOffset(index, left); } } rollHolder.recyclerView.clearOnScrollListeners(); rollHolder.recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); for (int i = 0; i < count; i++) { if (recyclerView.getLayoutManager() == null) return; if (recyclerView.getLayoutManager().getChildAt(i) == null) return; RecyclerView.ViewHolder holder = recyclerView.getChildViewHolder(recyclerView.getLayoutManager().getChildAt(i)); if (holder != null && holder instanceof MarketViewHolder) { LinearLayoutManager manager = (LinearLayoutManager) ((MarketViewHolder) holder).recyclerView.getLayoutManager(); manager.scrollToPositionWithOffset(index, left); } } } }); }
recyclerview联动滑动 关键代码
最新推荐文章于 2024-07-16 14:04:38 发布