转载 收藏listview判断是否在底部

it2022-05-05  143

ListView已到顶部的判断               public boolean isListViewReachTopEdge(final ListView listView) {                 boolean result=false;                 if(listView.getFirstVisiblePosition()==0){                     final View topChildView = listView.getChildAt(0);                     result=topChildView.getTop()==0;                 }                 return result ;             } 注:view的 getTop()表示的是该View的顶部到父控件的左上角的垂直距离。 当ListView的第一个child View的getTop()为零时,就表示ListView已经滚动到顶部了或已经在顶部不能在向上滑动了。ListView已到底部的判断             public boolean isListViewReachBottomEdge(final ListView listView) {                 boolean result=false;                 if (listView.getLastVisiblePosition() == (listView.getCount() - 1)) {                     final View bottomChildView = listView.getChildAt(listView.getLastVisiblePosition() - listView.getFirstVisiblePosition());                     result= (listView.getHeight()>=bottomChildView.getBottom());                 };                 return  result;             } 注:view的 getBottom()表示的是该View底部到父控件的左上角的垂直距离 当ListView的最后一个child View的getBottom()小于等于ListView的getHeight()时,就表示ListView滚动到底部或已经在底部了,不能再向下滑动了。 关于View的getLeft, getRight, getTop, getBottom更多内容请参考《 Android View的getLeft, getRight, getTop, getBottom》

结束

转载于:https://www.cnblogs.com/childyngy/p/5489808.html


最新回复(0)