/* * Created by LuaView. * Copyright (c) 2017, Alibaba Group. All rights reserved. * * This source code is licensed under the MIT. * For the full copyright and license information,please view the LICENSE file in the root directory of this source tree. */ package com.taobao.luaview.view.recyclerview; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; /** * RecyclerView 相关操作 * * @author song * @date 16/1/13 */ public class RecyclerViewHelper { /** * get first visible position of recycler view * * @param rv * @return */ public static int getFirstVisiblePosition(RecyclerView rv) { if (rv != null) { final RecyclerView.LayoutManager layoutManager = rv.getLayoutManager(); if (layoutManager instanceof LinearLayoutManager) { return ((LinearLayoutManager) layoutManager).findFirstVisibleItemPosition(); } } return 0; } /** * get last visible position of recycler view * * @param rv * @return */ public static int getLastVisiblePosition(RecyclerView rv) { if (rv != null) { final RecyclerView.LayoutManager layoutManager = rv.getLayoutManager(); if (layoutManager instanceof LinearLayoutManager) { return ((LinearLayoutManager) layoutManager).findLastVisibleItemPosition(); } } return 0; } /** * get visible item count of recycler view; * * @param rv * @return */ public static int getVisibleItemCount(RecyclerView rv) { final int firstVisiblePos = getFirstVisiblePosition(rv); final int lastVisiblePos = getLastVisiblePosition(rv); return Math.max(0, lastVisiblePos - firstVisiblePos); } }