recycleview中让指定item在屏幕可视区域内

情景:

类似与歌词滚动 当用户拖动recycle后,在下一句时让当前句重新回到视野

实现:

    recycleChallenge.addOnScrollListener(new RecyclerView.OnScrollListener() {
            @Override
            public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
                super.onScrollStateChanged(recyclerView, newState);
                LinearLayoutManager manager = (LinearLayoutManager) recyclerView.getLayoutManager();
                // 当不滚动时
                if (newState == RecyclerView.SCROLL_STATE_IDLE) {
                    //获取最后一个完全显示的ItemPosition
                    lastVisibleItem = manager.findLastCompletelyVisibleItemPosition();
                    isScroll = true;
                    System.out.println();
                }

            }
        });
                            if(isScroll&&Math.abs(lastVisibleItem-currWord)>4){
                                recycleChallenge.smoothScrollToPosition(currWord);
                                isScroll = false;
                            }else{
                                if(currWord+2<adapter.getItemCount()){
                                    recycleChallenge.smoothScrollToPosition(currWord+2);
                                }else{
                                    recycleChallenge.smoothScrollToPosition(currWord+1);
                                }
                            }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,279评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,671评论 4 61
  • 设定一个目标,通过各种的方式去找不同的解决方法,结合所有的方法制定出属于自己的方案
    孙倩阅读 1,139评论 0 0
  • 在巴黎圣母院,感受到圣光的垂怜。 移步换景,却没有苏州园林同理之下的端庄刻板,是肃穆,不经意地便漫过人...
    Eastwood_阅读 1,819评论 0 0
  • 那时我们有梦 关于文学 关于爱情 关于穿越世界的旅行 如今我们深夜饮酒 杯子碰到一起 都是梦破碎的声音 —— 北岛...
    淑离君阅读 2,490评论 1 2

友情链接更多精彩内容