Android(安卓)Studio第三十一期 - 记录RecyclerView滚动位置并恢复
16lz
2021-12-11
代码已经整理好,看下面~有一天你会用到的~不客气哈~
//监听RecyclerView滚动状态mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrollStateChanged(RecyclerView recyclerView, int newState) { super.onScrollStateChanged(recyclerView, newState); if(recyclerView.getLayoutManager() != null) { getPositionAndOffset(); } }});/** * 记录RecyclerView当前位置 */private void getPositionAndOffset() { LinearLayoutManager layoutManager = (LinearLayoutManager) mRecyclerView.getLayoutManager(); //获取可视的第一个view View topView = layoutManager.getChildAt(0); if(topView != null) { //获取与该view的顶部的偏移量 lastOffset = topView.getTop(); //得到该View的数组位置 lastPosition = layoutManager.getPosition(topView); }}/** * 让RecyclerView滚动到指定位置 */private void scrollToPosition() { if(mRecyclerView.getLayoutManager() != null && lastPosition >= 0) { ((LinearLayoutManager) mRecyclerView.getLayoutManager()).scrollToPositionWithOffset(lastPosition, lastOffset); }}
更多相关文章
- android学习轨迹之二:Android权限标签uses-permission的书写位置
- [android]在上下文菜单的选中事件中获取列表选中的元素
- Android_GPS
- Android通过点击按钮改变Activity的背景颜色_个人笔记
- Android(安卓)Google Map实例 - MD5 、Google Map API Key获取(A
- Android使用HttpURLConnection访问网络
- 保持在底部的按钮栏,上面是滚动的ScrollView---转
- Android(安卓)中文 API(123) —— AbsListView
- android 从matrix获取处理过的图片的实际宽度